Skip to main content
Glama

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 tools
get_docsB

Фрагменты документации по теме (topic - своими словами, можно по-русски: «вебхук возврата», «чек 54-ФЗ»). Первым блоком идут грабли - проверенные ловушки по теме. tokens - бюджет ответа.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes
tokensNo
library_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 - все.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNo
library_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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с бсп». Пустой запрос - список всех библиотек.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updatesv0.2.1
    • First observedget_docs
    • First observedget_gotchas
    • First observedresolve_library

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Provides 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.
    12
    2
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides up-to-date documentation for AI agents by locally querying a community-driven registry of pre-built docs packages.
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Provides 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.
    5
    9 npm
    36
    MIT