Skip to main content
Glama
README.md
# ru-docs-mcp

«Context7 по-русски»: MCP-сервер, который отдаёт ИИ-агенту актуальную документацию российских
сервисов, а вместе с ней **грабли** - проверенные ловушки интеграции со ссылкой на первоисточник.

Агенты чаще всего ошибаются именно здесь: российских SDK мало в обучающих данных, поэтому модель
выдумывает поля, путает копейки с рублями и забывает проверить подпись вебхука.

| Платежи | Чеки 54-ФЗ | Мессенджеры | CRM | Данные, SMS, ИИ | 1С |
|---|---|---|---|---|---|
| ЮKassa, ЮMoney, CloudPayments, Robokassa, PayKeeper, Яндекс Пэй, платежи в Telegram, Т-Банк (только грабли) | OrangeData, АТОЛ Онлайн (см. ниже) | МАКС, VK API, Яндекс Мессенджер | Битрикс24, amoCRM | DaData, SMS.ru, GigaChat | БСП 3.2 (программный интерфейс общих модулей) |

## Установка

Нужен [uv](https://docs.astral.sh/uv/). Сервер работает у вас локально, внешний сервер не нужен.

```sh
claude mcp add ru-docs -s user -- uvx --from git+https://github.com/Nezeronxer/ru-docs-mcp ru-docs
```

При первом запуске сервер сам соберёт индекс в `~/.local/share/ru-docs/` (несколько минут, ~100 МБ)
и дальше раз в неделю обновляет его в фоне. Пока индекс собирается, инструменты так и отвечают.
Собрать вручную: `uvx --from git+https://github.com/Nezeronxer/ru-docs-mcp ru-docs-ingest`.

Другие клиенты (Cursor, Codex, Claude Desktop) - тот же stdio-запуск:
`uvx --from git+https://github.com/Nezeronxer/ru-docs-mcp ru-docs`.

## Инструменты

- `resolve_library(query)` - id библиотеки по названию, по-русски или по-английски: «тинькофф», «бот макс», «бсп».
- `get_docs(library_id, topic, tokens=5000)` - фрагменты документации по теме, первым блоком грабли.
- `get_gotchas(library_id, topic?)` - только грабли.

Поиск понимает словоформы (SQLite FTS5 + стемминг Snowball): «вебхук возврата» находит
«уведомления о возвратах», `PaymentId` находится по «payment id».

## Как добавить источник или граблю

- Библиотека - блок `[[library]]` в `src/ru_docs/sources.toml`. Загрузчики: `openapi`, `html`
  (`urls` / `sitemap` / `crawl`), `pdf`, `github` (`md`, `bsl`, `vk`).
- Грабля - раздел `## Заголовок` в `src/ru_docs/gotchas/<id>.md` со строками `Источник: URL` и
  `Проверено: дата`. Только то, что сверено с документацией или проверено на живой интеграции.
- Проверка: `uv run pytest`, пересборка: `uv run ru-docs-ingest <id>` или `--gotchas-only`.

## Почему у Т-Банка только грабли

developer.tbank.ru подписан корнем Минцифры (Russian Trusted Root CA). Доверять такому корню значит
разрешить подмену трафика к любому сайту, поэтому ru-docs его не подключает и проверку TLS не
отключает. Полная документация - в Context7 (`/websites/developer_tbank_ru_eacq`) или в браузере.

## Почему АТОЛ Онлайн может не собраться

С октября 2026 сайт АТОЛ (online.atol.ru -> atol.online) отвечает на любой адрес страницей
антибот-проверки вместо PDF с API. ru-docs такую проверку не обходит: сборка пропускает АТОЛ
и подхватит его, когда файл снова станет доступен. Уже собранный индекс при ошибке не затирается.

## Чего нет и почему

- СДЭК - api-docs.cdek.ru не открывается из-за рубежа (а MCP часто работает через VPN).
- Почта России (API Отправки) - спецификация рисуется JavaScript, текста в HTML нет.
- Wildberries, Ozon - документация закрыта антиботом.
- YandexGPT (AI Studio) - сайт отдаёт капчу, а репозиторий yandex-cloud/docs весит 1,2 ГБ.
- МойСклад - одностраничное приложение без текста в HTML.

## Источники и права

Индекс собирается на вашей машине из публичных страниц, ru-docs ничего не раздаёт со своего сервера.
Выдаются короткие фрагменты со ссылкой на оригинал. Не индексируются: Prodamus (robots.txt
запрещает), its.1c.ru (подписка ИТС), справка платформы 1С (лицензия 1С).
Открытые лицензии: схема МАКС - Apache-2.0, схема VK API - MIT, БСП - CC-BY-4.0 (© 1С).

Правообладателю: если источник нужно убрать - откройте issue, он будет удалён из `sources.toml`.

## Лицензия

MIT - для кода. Документация принадлежит правообладателям.

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation4/5

resolve_library is clearly distinct, while get_docs and get_gotchas overlap because get_docs already returns gotchas as its first block. The descriptions clarify the difference, but an agent may still hesitate when deciding whether to call get_docs or get_gotchas for trap information.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: resolve_library, get_docs, get_gotchas. The only variation is resolve vs get, which is minor and still predictable.

Tool Count5/5

Three tools are well-scoped for a documentation lookup server: resolve a library, fetch documentation, and fetch gotchas. Each tool earns its place, and the count is neither thin nor excessive.

Completeness4/5

The core workflow of resolving a library and then retrieving docs or gotchas is covered. Minor gaps exist, such as no explicit topic listing, cross-library search, or version metadata, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues