Skip to main content

EvaWiki RAG MCP server

Project description

evawiki-mcp

MCP-сервер для работы с базой знаний EvaWiki. Предоставляет инструменты для поиска, просмотра, создания и редактирования документов, управления вложениями и семантического поиска по базе знаний. Включает ресурсы с правилами форматирования и промпты для создания и редактирования документов с соблюдением стандартов EvaWiki.

PyPI version Python 3.13 License: MIT

Установка

pip install evawiki-mcp

или через uvx (без предварительной установки):

uvx evawiki-mcp@latest

Быстрый старт

Переменные окружения

Переменная Обязательная По умолчанию Описание
EVAWIKI_ENDPOINT Да Базовый URL инстанса EvaWiki
EVAWIKI_TOKEN Да API-токен для аутентификации
EVAWIKI_RAG_URL Нет "" URL RAG API. При указании активирует инструмент evawiki_query_ask
EVAWIKI_CONTENT_FORMAT Нет yaml Формат ответов: yaml или json

Запуск в режиме stdio

stdio — транспорт по умолчанию для MCP-клиентов (Claude Desktop, Cursor, VS Code и др.). Два варианта запуска:

Через CLI:

export EVAWIKI_ENDPOINT="https://evawiki.example.com"
export EVAWIKI_TOKEN="your-api-token"

evawiki-mcp

Через uvx (без установки):

EVAWIKI_ENDPOINT="https://evawiki.example.com" \
EVAWIKI_TOKEN="your-api-token" \
uvx evawiki-mcp@latest

Конфигурация для MCP-клиента

Добавьте в .mcp.json (или claude_desktop_config.json):

{
  "mcpServers": {
    "evawiki": {
      "command": "uvx",
      "args": ["evawiki-mcp@latest"],
      "env": {
        "EVAWIKI_ENDPOINT": "https://evawiki.example.com",
        "EVAWIKI_TOKEN": "your-api-token"
      }
    }
  }
}

Запуск в режиме HTTP

HTTP-режим подходит для развёртывания как сервис и подключения нескольких клиентов.

Через CLI:

export EVAWIKI_ENDPOINT="https://evawiki.example.com"
export EVAWIKI_TOKEN="your-api-token"

evawiki-mcp-http

Через uvicorn напрямую:

uvicorn rag_mcp.asgi_app:app --host 0.0.0.0

Сервер запустится на http://0.0.0.0:8000 (порт по умолчанию для uvicorn), MCP-эндпоинт — /mcp, health check — /health.

Конфигурация для MCP-клиента (HTTP)

{
  "mcpServers": {
    "evawiki": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp",
      "headers": {
        "evawiki-endpoint": "https://evawiki.example.com",
        "evawiki-token": "your-api-token"
      }
    }
  }
}

В HTTP-режиме credentials можно передавать через заголовки evawiki-endpoint и evawiki-token на каждый запрос — это позволяет обслуживать несколько EvaWiki-инстансов с одного сервера.

Инструменты (MCP Tools)

Вложения (Attachments)

Инструмент Описание Доступность
evawiki_attachment_list Получает список вложений документа (только метаданные, без содержимого) все режимы
evawiki_attachment_create_from_url Создаёт вложение в EvaWiki по HTTP(S)-ссылке все режимы
evawiki_attachment_create_from_file Создаёт вложение в EvaWiki из локального файла только stdio
evawiki_attachment_download Скачивает вложение из EvaWiki на локальный диск только stdio

Документы (Documents)

Инструмент Описание Доступность
evawiki_document_get Получает метаданные документа по коду все режимы
evawiki_document_get_text Получает текстовое содержимое документа (опубликованная версия или черновик) все режимы
evawiki_document_search Ищет документы по подстроке в названии все режимы
evawiki_document_create_draft Создаёт новый документ в статусе черновика все режимы
evawiki_document_update_draft Обновляет документ и сохраняет как черновик все режимы
evawiki_document_publish Публикует черновик документа все режимы

Проекты (Projects)

Инструмент Описание Доступность
evawiki_project_list Получает список всех доступных проектов EvaWiki все режимы
evawiki_project_get_documents_tree Получает иерархию разделов и документов проекта все режимы

Навигация и поиск

Инструмент Описание Доступность
evawiki_overview_get Получает двухуровневый обзор базы знаний (проекты -> документы верхнего уровня) все режимы
evawiki_query_ask Семантический поиск по базе знаний с генерацией ответа (требует EVAWIKI_RAG_URL) все режимы*

* Инструмент evawiki_query_ask регистрируется только при заданной переменной EVAWIKI_RAG_URL.

Гайды и рекомендации

Инструмент Описание Доступность
evawiki_guides_recommend Рекомендует подходящие стандарты EvaWiki, предупреждения и промпт для задачи пользователя все режимы

Диаграммы (PlantUML)

Инструмент Описание Доступность
evawiki_plantuml_render_svg Рендерит PlantUML-диаграмму в формат SVG для вставки в документы EvaWiki все режимы

Ресурсы (MCP Resources)

Сервер предоставляет набор ресурсов с правилами форматирования и рекомендациями по работе с документами EvaWiki. AI-клиент может прочитать эти ресурсы для получения инструкций по оформлению контента.

Ресурс Описание
resource://evawiki/role-and-scope Роль и область ответственности ассистента при работе с EvaWiki
resource://evawiki/html-formatting-rules Правила HTML-форматирования: заголовки с уникальными data-id, допустимые теги (<p>, <strong>, <code>, <ol>, <table> и др.), запрет на Markdown и эмодзи
resource://evawiki/code-block-rules Правила оформления блоков кода: формат <pre class="language-xxx"><code class="language-xxx">, список поддерживаемых языков (Java, JSON, YAML, Bash, SQL, XML, Python, TypeScript, Groovy)
resource://evawiki/code-block-examples Примеры оформленных блоков кода для Java, JSON, Bash и YAML
resource://evawiki/update-safety-rules Правила безопасного обновления документов: сохранение неизменяемых секций, уникальность data-id, защита структуры
resource://evawiki/draft-publish-workflow Рекомендуемый workflow из 6 шагов: поиск документа → чтение → подготовка HTML → сохранение черновика → ссылка на черновик → публикация после подтверждения
resource://evawiki/uml-diagram-guide Стандарт создания PlantUML-диаграмм для EvaWiki: шаблон HTML-блока, pipeline рендера (evawiki_plantuml_render_svg), правила подстановки UML и SVG, требования к inline-SVG

Промпты (MCP Prompts)

Промпты позволяют AI-клиенту получить структурированную инструкцию для создания или редактирования документов EvaWiki с соблюдением всех правил форматирования. Каждый промпт автоматически подключает нужные ресурсы (правила HTML, блоков кода, безопасного обновления).

Промпт Описание Параметры
evawiki_format_html Конвертирует произвольный текст в HTML-фрагмент для EvaWiki с правильными заголовками и блоками кода text (обязательный), title (опциональный)
evawiki_create_article Создаёт новую статью с нуля из исходного текста: структура, уникальные data-id, форматирование кода document_code, title, topic, source_text (все обязательные)
evawiki_update_article Обновляет существующий документ, сохраняя неизменяемые части document_code, change_request, new_content (все обязательные)
evawiki_add_section Добавляет новый раздел в существующий документ без переработки всего текста document_code, section_title, section_html_or_text (все обязательные)

Различия между stdio и HTTP

Возможность stdio HTTP
Все инструменты для чтения + +
Создание и редактирование документов + +
Загрузка вложений из локального файла +
Скачивание вложений на локальный диск +
Аутентификация через заголовки запроса +
Многопользовательский доступ +
Запуск через uvx +

Инструменты evawiki_attachment_create_from_file и evawiki_attachment_download работают с локальной файловой системой, поэтому доступны только в stdio-режиме.

Стек технологий

  • FastMCP — фреймворк для MCP-серверов
  • evawiki-python-client — клиент API EvaWiki
  • Pydantic — валидация данных и модели ответов
  • httpx — HTTP-клиент
  • uvicorn — ASGI-сервер

Лицензия

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evawiki_mcp-0.1.8.tar.gz (59.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evawiki_mcp-0.1.8-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file evawiki_mcp-0.1.8.tar.gz.

File metadata

  • Download URL: evawiki_mcp-0.1.8.tar.gz
  • Upload date:
  • Size: 59.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for evawiki_mcp-0.1.8.tar.gz
Algorithm Hash digest
SHA256 c2ab47898aea196f90d714828b1117b72995e270a9705bc35982f8219492820d
MD5 7ed772a9259bf88a69ce7c90029d2e91
BLAKE2b-256 1bcb70f7f1ee6fef0b94819a39dd10292afc34d66671c883b74f66282b3be60c

See more details on using hashes here.

File details

Details for the file evawiki_mcp-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: evawiki_mcp-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for evawiki_mcp-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 91b40e805365e3f25bd58db661c5b9b1ea83384dac7f9baf2c7db26bdf9a34d0
MD5 96985967f505637dcd06eef5c29aaeb1
BLAKE2b-256 705a211fa5812e3ef0ed55a2ef03148a6881b3ace1ece739f51d855548e0a3ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page