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.11.tar.gz (64.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.11-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: evawiki_mcp-0.1.11.tar.gz
  • Upload date:
  • Size: 64.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.11.tar.gz
Algorithm Hash digest
SHA256 a0560b6f7acd325b856d3c9389660db85435c58c04421189911fee8b41cd8926
MD5 cecb4be13a00f7d6833b7c47ded4ed9d
BLAKE2b-256 f2dbd572ed640867605e2238c95c1c5cb9fa5252d22cffb441d3fd0dfe7094bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: evawiki_mcp-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 44.1 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 be9bf9b3f1293cf153da18afa0cca785e00ec29438d16796267e584c34201822
MD5 3e537538251b9773b5b891cd1191f3f8
BLAKE2b-256 0599edf8b121c004562b290b14119367cc9983c8e7aaa60f8eb465ba72227b0e

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