Skip to main content

Yandex Wiki MCP

PyPI version License: MIT

Реализация MCP-сервера для Яндекс Вики с режимами read/write и readonly.

Содержимое

  • mcp-yandex-wiki — полный режим (чтение + создание/обновление/append)
  • mcp-yandex-wiki-ro — read-only режим (только чтение)

Установка

  1. Установить uv (если ещё не установлен).
  2. Получить OAuth-токен Яндекс и org_id:
    1. Создать приложение на oauth.yandex.ru с правами Wiki.
    2. Подставить client_id в URL:
      https://oauth.yandex.ru/authorize?response_type=token&client_id=<CLIENT_ID>
      
      и авторизоваться.

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

Обязательные:

  • WIKI_TOKEN или TRACKER_TOKEN
  • WIKI_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_PASSWORD
  • REDIS_POOL_MAX_SIZE (10)
  • READONLY (true/false)

Кэширование (Redis)

Кэшируются только read-операции для Wiki:

  • wiki_page_get
  • wiki_page_get_by_url
  • wiki_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

  1. Открыть Settings → Cursor Settings → MCP → + Add new global MCP server. Откроется файл ~/.cursor/mcp.json.
  2. Добавить конфигурацию:
{
  "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 в корне репозитория с аналогичным содержимым.

  1. Вернуться в 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_get
  • wiki_page_get_by_url
  • wiki_page_get_text_by_url
  • wiki_page_create
  • wiki_page_update
  • wiki_page_append_content

mcp-yandex-wiki-ro

  • wiki_page_get
  • wiki_page_get_by_url
  • wiki_page_get_text_by_url
  • write-инструменты возвращают 403

Отладка (MCP Inspector)

Для интерактивной отладки MCP-сервера можно использовать MCP Inspector.

  1. Запустить сервер в режиме SSE:
uv run fastmcp run yandex_wiki_mcp/server.py --transport sse
  1. В другом терминале запустить Inspector:
npx @modelcontextprotocol/inspector@latest
  1. В открывшемся интерфейсе Inspector выбрать Transport Type: SSE и указать URL:
http://localhost:8000/sse
  1. Нажать Connect — Inspector подключится к серверу и покажет список доступных инструментов, позволяя вызывать их вручную и видеть ответы.

Настройки FastMCP для production

Сервер поддерживает переменные окружения FastMCP для тонкой настройки поведения:

  • FASTMCP_MASK_ERROR_DETAILS — при true маскирует детали ошибок в ответах клиентам. Показываются только сообщения из явно выброшенных ToolError. Рекомендуется для production.
  • FASTMCP_STRICT_INPUT_VALIDATION — при true включает строгую валидацию входных данных инструментов по JSON-схемам. При false (по умолчанию) допускаются совместимые преобразования типов (например, строка "10" → число 10).

Metadata

Release files for mcp-yandex-wiki 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-yandex-wiki 0.0.3
File Size Uploaded
mcp_yandex_wiki-0.0.3.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-yandex-wiki 0.0.3
File Interpreter ABI Platform
mcp_yandex_wiki-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 27.1 kB

Release files / mcp_yandex_wiki-0.0.3.tar.gz

Download URL mcp_yandex_wiki-0.0.3.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1241ad0557f2d7211efb53794319aae02d182141ecc2a6bf521810cc3b359b2b
BLAKE2b-256 checksum
How to use checksums
8a7da3ec85ceb82561e79cb6549f82428e99644536a465ac1de53f7686e9f775
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / mcp_yandex_wiki-0.0.3-py3-none-any.whl

Download URL mcp_yandex_wiki-0.0.3-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e65eafd92be2a9b297a699ee78646e8f6baf4735987ad29a7e96337066162a6e
BLAKE2b-256 checksum
How to use checksums
8a925b7006df7bb8c7639cd5b8f116db944bda7c79f0cb2f2099fa12b11da3ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page