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_ask_query
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_upload_from_url Создаёт вложение в EvaWiki по HTTP(S)-ссылке все режимы
evawiki_attachment_upload_from_file Создаёт вложение в EvaWiki из локального файла только stdio
evawiki_attachment_download Скачивает вложение из EvaWiki на локальный диск только stdio

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

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

Проекты (Projects)

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

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

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

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

Ресурсы (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 → сохранение черновика → ссылка на черновик → публикация после подтверждения

Промпты (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_upload_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.7.tar.gz (21.8 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.7-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: evawiki_mcp-0.1.7.tar.gz
  • Upload date:
  • Size: 21.8 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.7.tar.gz
Algorithm Hash digest
SHA256 e7a5594ed084affeb3c475c92c142d82ab9457ca1140388a16688f1412398568
MD5 481a597b76ee7615a26417f709f59991
BLAKE2b-256 3179c0c26c8361cbd38d4a4905149cc1a79fe4d4fb29be9fd4cb6ce287c8cc0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: evawiki_mcp-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 35.2 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 371f4010a159039a70d72ae68c3b7077d6067a18b7ef13293fca6c333a595432
MD5 41279a29dfe0ca08998f4390c39009ae
BLAKE2b-256 d3b0c0e3091d1e91a45bca02cd1da9b89ffacbcd4614108ea9a6b52c14c80a1b

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