MCP server for Yandex Wiki with read/write tools and readonly mode
Project description
Yandex Wiki MCP
Реализация MCP-сервера для Яндекс Вики с режимами read/write и readonly.
Содержимое
mcp-yandex-wiki— полный режим (чтение + создание/обновление/append)mcp-yandex-wiki-ro— read-only режим (только чтение)
Установка
- Установить
uv(если ещё не установлен). - Получить OAuth-токен Яндекс и
org_id:- Создать приложение на oauth.yandex.ru с правами Wiki.
- Подставить
client_idв URL:
и авторизоваться.https://oauth.yandex.ru/authorize?response_type=token&client_id=<CLIENT_ID>
Переменные окружения
Обязательные:
WIKI_TOKENилиTRACKER_TOKENWIKI_ORG_IDилиTRACKER_ORG_ID
Опциональные:
WIKI_API_BASE_URL(по умолчаниюhttps://api.wiki.yandex.net/v1)TRANSPORT(stdioпо умолчанию)HOST(127.0.0.1)PORT(8088)MCP_PATH(/mcp)TOOLS_CACHE_ENABLED(true/false, по умолчаниюfalse)TOOLS_CACHE_REDIS_TTL(в секундах, по умолчанию3600)REDIS_ENDPOINT(localhost)REDIS_PORT(6379)REDIS_DB(0)REDIS_PASSWORDREDIS_POOL_MAX_SIZE(10)READONLY(true/false)
Кэширование (Redis)
Кэшируются только read-операции для Wiki:
wiki_page_getwiki_page_get_by_urlwiki_page_get_text_by_url
Особенности:
- включается через
TOOLS_CACHE_ENABLED=true - кэш живёт в Redis (
REDIS_*) - при любых write-операциях (
create,update,append_content) кэш инвалидируется для затронутых страниц/slug - в ответах добавляется флаг
_mcp_cache_hit(true/false)
Минимальный пример для локального Redis:
docker run -p 6379:6379 --name redis-cache -d redis:alpine
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
TOOLS_CACHE_ENABLED=true REDIS_ENDPOINT=127.0.0.1 REDIS_PORT=6379 uvx mcp-yandex-wiki
Production-подобный пример:
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
TOOLS_CACHE_ENABLED=true \
REDIS_ENDPOINT=redis.internal \
REDIS_PORT=6379 \
REDIS_DB=0 \
REDIS_PASSWORD=secret \
TOOLS_CACHE_REDIS_TTL=7200 \
uvx mcp-yandex-wiki
Быстрый запуск (через PyPI)
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
uvx mcp-yandex-wiki
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
uvx --from mcp-yandex-wiki mcp-yandex-wiki-ro
Альтернатива (после установки):
pip install mcp-yandex-wiki
python -m yandex_wiki_mcp
Подключение в MCP-агентах (через PyPI)
Claude Code
claude mcp add yandex-wiki uvx mcp-yandex-wiki \
-e WIKI_TOKEN=your_token \
-e WIKI_ORG_ID=your_org_id
claude mcp add yandex-wiki-ro -- uvx --from mcp-yandex-wiki mcp-yandex-wiki-ro \
-e WIKI_TOKEN=your_token \
-e WIKI_ORG_ID=your_org_id
Если используете TRACKER_*-переменные, замените их на:
claude mcp add yandex-wiki uvx mcp-yandex-wiki \
-e TRACKER_TOKEN=your_token \
-e TRACKER_ORG_ID=your_org_id
Codex (конфиг проекта)
[mcp_servers.yandex-wiki]
command = "uvx"
args = ["mcp-yandex-wiki"]
env = { WIKI_TOKEN = "your_token", WIKI_ORG_ID = "your_org_id" }
[mcp_servers.yandex-wiki-ro]
command = "uvx"
args = ["--from", "mcp-yandex-wiki", "mcp-yandex-wiki-ro"]
env = { WIKI_TOKEN = "your_token", WIKI_ORG_ID = "your_org_id" }
Cursor
- Открыть Settings → Cursor Settings → MCP → + Add new global MCP server.
Откроется файл
~/.cursor/mcp.json. - Добавить конфигурацию:
{
"mcpServers": {
"yandex-wiki": {
"command": "uvx",
"args": ["mcp-yandex-wiki"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
}
}
}
Для read-only режима:
{
"mcpServers": {
"yandex-wiki-ro": {
"command": "uvx",
"args": ["--from", "mcp-yandex-wiki", "mcp-yandex-wiki-ro"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
}
}
}
Можно также добавить на уровне проекта — создайте файл
.cursor/mcp.jsonв корне репозитория с аналогичным содержимым.
- Вернуться в Settings → MCP и убедиться, что у сервера зелёный индикатор (статус «running»).
Другие MCP-клиенты (JSON, общий шаблон)
{
"mcpServers": {
"yandex-wiki": {
"command": "uvx",
"args": ["mcp-yandex-wiki"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
},
"yandex-wiki-ro": {
"command": "uvx",
"args": ["--from", "mcp-yandex-wiki", "mcp-yandex-wiki-ro"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
}
}
}
Инструменты
mcp-yandex-wiki (rw)
wiki_page_getwiki_page_get_by_urlwiki_page_get_text_by_urlwiki_page_createwiki_page_updatewiki_page_append_content
mcp-yandex-wiki-ro
wiki_page_getwiki_page_get_by_urlwiki_page_get_text_by_url- write-инструменты возвращают
403
Отладка (MCP Inspector)
Для интерактивной отладки MCP-сервера можно использовать MCP Inspector.
- Запустить сервер в режиме SSE:
uv run fastmcp run yandex_wiki_mcp/server.py --transport sse
- В другом терминале запустить Inspector:
npx @modelcontextprotocol/inspector@latest
- В открывшемся интерфейсе Inspector выбрать Transport Type: SSE и указать URL:
http://localhost:8000/sse
- Нажать Connect — Inspector подключится к серверу и покажет список доступных инструментов, позволяя вызывать их вручную и видеть ответы.
Настройки FastMCP для production
Сервер поддерживает переменные окружения FastMCP для тонкой настройки поведения:
FASTMCP_MASK_ERROR_DETAILS— приtrueмаскирует детали ошибок в ответах клиентам. Показываются только сообщения из явно выброшенныхToolError. Рекомендуется для production.FASTMCP_STRICT_INPUT_VALIDATION— приtrueвключает строгую валидацию входных данных инструментов по JSON-схемам. Приfalse(по умолчанию) допускаются совместимые преобразования типов (например, строка"10"→ число10).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_yandex_wiki-0.0.3.tar.gz.
File metadata
- Download URL: mcp_yandex_wiki-0.0.3.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1241ad0557f2d7211efb53794319aae02d182141ecc2a6bf521810cc3b359b2b
|
|
| MD5 |
f95d05aa5e797fd24e61f46d97d2268a
|
|
| BLAKE2b-256 |
8a7da3ec85ceb82561e79cb6549f82428e99644536a465ac1de53f7686e9f775
|
File details
Details for the file mcp_yandex_wiki-0.0.3-py3-none-any.whl.
File metadata
- Download URL: mcp_yandex_wiki-0.0.3-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e65eafd92be2a9b297a699ee78646e8f6baf4735987ad29a7e96337066162a6e
|
|
| MD5 |
d27dd5621214cd72f62381505a3ffd14
|
|
| BLAKE2b-256 |
8a925b7006df7bb8c7639cd5b8f116db944bda7c79f0cb2f2099fa12b11da3ae
|