ru-docs-mcp
Provides documentation and verified integration gotchas for Telegram payments, helping AI agents implement payment flows with Telegram correctly.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ru-docs-mcphow do I verify a YooKassa payment webhook signature?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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. Сервер работает у вас локально, внешний сервер не нужен.
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.
Related MCP server: llmmcp
Инструменты
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 - для кода. Документация принадлежит правообладателям.
Available Tools
3 toolsget_docsB
Фрагменты документации по теме (topic - своими словами, можно по-русски: «вебхук возврата», «чек 54-ФЗ»). Первым блоком идут грабли - проверенные ловушки по теме. tokens - бюджет ответа.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| tokens | No | ||
| library_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the first block is 'gotchas' and that 'tokens' is the response budget, but says nothing about auth, rate limits, or the relationship to sibling tools. Partial but not rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact, front-loaded, and the parenthetical examples for topic are efficient. No filler sentences; the only minor slack is the gotchas mention, which overlaps a sibling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, the required library_id is undocumented and there is no hint that it likely must come from resolve_library, leaving a real gap for a multi-param lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains 'topic' (free-form, Russian OK, with examples) and 'tokens' (response budget), adding real value, but 'library_id' — one of two required parameters — is left entirely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns documentation fragments for a given topic, with a Russian example. It is clear what the tool does, though the note that gotchas appear as the first block blurs the line with the sibling get_gotchas rather than distinguishing them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus get_gotchas or resolve_library, and no prerequisites stated. The only usage hint is that topic can be free-form and in Russian, which is input guidance rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gotchasB
Грабли по библиотеке: неочевидные ловушки интеграции (подписи, идемпотентность, копейки, тестовый режим, чеки). Без topic - все.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | ||
| library_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing beyond content scope: no read-only confirmation, no pagination/caching behavior, no indication of how large the result is or whether it depends on auth. It only communicates what topics exist, not how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the content scope front-loaded and the topic-default rule last. There is no padding, though the parenthetical list is dense and the description is entirely in Russian while sibling tool names are English.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a simple two-parameter read tool this is close to adequate, but the absence of any link between library_id and resolve_library, and of any routing versus get_docs, leaves gaps an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It usefully explains the topic parameter's default behavior ('no topic = all') and 'по библиотеке' implies library_id scopes the result to one library, but it never states the required library_id format or where the id comes from (e.g. resolve_library).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (library gotchas) and enumerates concrete subject areas (signatures, idempotency, minor units, test mode, receipts), which is far more specific than a tautology. It implies a distinction from get_docs by framing the content as 'non-obvious integration traps', though it never explicitly contrasts itself with that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Без topic - все' ('without topic - everything') gives a usable calling convention for the topic filter, but there is no guidance on when to reach for this tool versus resolve_library or get_docs, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_libraryA
Найти id библиотеки по названию сервиса (по-русски или по-английски): «юкасса», «тинькофф», «макс бот», «1с бсп». Пустой запрос - список всех библиотек.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses two behaviors: language-agnostic matching and that an empty query returns the full library list. It does not state that this is a read-only lookup or describe matching/return semantics, leaving modest gaps for an annotation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and immediately followed by concrete examples and the empty-query edge case. Efficient; the example list is slightly long but earns its place by showing accepted input styles.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The description covers the single input's semantics and the empty-query case, which is sufficient for a simple resolver. It stops short of explaining match behavior on partial/ambiguous names, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single query param, so the description must compensate, and it does: query is the service name, accepted in Russian or English, with four concrete examples, plus the empty-string behavior. This meaningfully exceeds the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: find a library id by service name. The scope (Russian or English service names, with concrete examples) is unambiguous. It does not explicitly name its siblings get_docs/get_gotchas, but its resolution purpose is naturally distinct from document retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the examples and the empty-query behavior (list all libraries), which tells the agent how to invoke it broadly, but there is no explicit when-to-use guidance or comparison against the sibling tools get_docs/get_gotchas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.2.1- First observed
get_docs - First observed
get_gotchas - First observed
resolve_library
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
Russian docs for AI agents: invoices/acts PDF, document parsing, INN checks, medical ad checks
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Web search, page reading and structured extraction for AI agents, with strong RU coverage
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides AI models with direct access to documentation for over 600 technologies from DevDocs.io, including popular languages, frameworks, and tools. It enables comprehensive searching, content retrieval, and offline access via an intelligent local caching system.122-
- AlicenseNot gradedqualityCmaintenanceProvides real-time, up-to-date documentation for major LLM providers (OpenAI, Anthropic, Google Gemini) to prevent hallucinations and outdated code patterns in AI agents.9 npm6MIT
- AlicenseNot gradedqualityCmaintenanceProvides up-to-date documentation for AI agents by locally querying a community-driven registry of pre-built docs packages.Apache 2.0
- AlicenseAqualityDmaintenanceProvides AI assistants with up-to-date documentation for popular libraries and frameworks, enabling them to generate more accurate code using less common or newly released libraries.59 npm36MIT