evawiki-mcp
MCP-сервер для работы с базой знаний EvaWiki. Предоставляет инструменты для поиска, просмотра, создания и редактирования документов, управления вложениями и семантического поиска по базе знаний. Включает ресурсы с правилами форматирования и промпты для создания и редактирования документов с соблюдением стандартов EvaWiki.
Установка
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
Metadata
Release files for evawiki-mcp 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| evawiki_mcp-0.1.12.tar.gz | 38.0 kB | Without provenance | Details for evawiki_mcp-0.1.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| evawiki_mcp-0.1.12-py3-none-any.whl | Python 3 | none | any | Details for evawiki_mcp-0.1.12-py3-none-any.whl |
Total release size: 82.1 kB
Release files / evawiki_mcp-0.1.12.tar.gz
| Download URL | evawiki_mcp-0.1.12.tar.gz |
|---|---|
| Size | 38.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce9928a1eb632e621c3da8af1a6972e434e822619e553f8b5453ba534d9ff460
|
|
BLAKE2b-256 checksum How to use checksums |
7f33eb5ea6fab435e21acd428d94630f42e6302d6166ecad43c37945bb9d7766
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}
|
Release files / evawiki_mcp-0.1.12-py3-none-any.whl
| Download URL | evawiki_mcp-0.1.12-py3-none-any.whl |
|---|---|
| Size | 44.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
461ee5eda131dfc81af495b6cd98a9f33d8320586f15d070d4a86de38f021a38
|
|
BLAKE2b-256 checksum How to use checksums |
886808692f13ad902fc5a20331eaa17e620bc08e9f1351d4fecc4f2d7160b5e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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}
|
Security for evawiki-mcp 0.1.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.