Self-hosted MCP server for searching Russian EGRUL and EGRIP registry data from local SQLite snapshots.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Egrul.
MCP-сервер ЕГРЮЛ и ЕГРИП: реквизиты российских компаний и ИП по открытым данным налоговой службы. Можно поставить у себя или подключить к Cursor, Claude и любому клиенту MCP.
Russian company registry lookup for AI agents.
Статус: v0.1.2 — open-версия (self-host через SQLite) полностью готова + клиентская часть hosted Pro (HTTP-клиент HostedClient для api.atomno-mcp.ru). Опубликована на PyPI, индексирована в Glama и Smithery. Сама hosted Pro-инфра — в активной разработке. Coverage 100.00% (345 тестов, ruff clean, fastmcp 3.2.4, enforced через --cov-fail-under=100).
Парный проект: mcp-fns-check (risk-чек-слой поверх ЕГРЮЛ).
Семь MCP-тулзов, видимых AI-ассистенту (Cursor, Claude Desktop, Cline, любой MCP-клиент):
| Tool | Описание | Аргументы |
|---|---|---|
search_by_inn | Поиск по ИНН (10 цифр — юр.лицо, 12 — ИП) | inn: str |
search_by_ogrn | Поиск по ОГРН (13) или ОГРНИП (15) | ogrn: str |
search_by_name | Fuzzy-поиск по названию (FTS5) | query: str, limit?: int, only_active?: bool |
get_full_card | Полная карточка со всеми секциями | inn?: str, ogrn?: str |
get_founders | Только учредители с долями | inn: str |
get_director | Только текущий руководитель | inn: str |
bulk_cards | Массовая проверка (до 100 ИНН) | inns: list[str] |
Плюс диагностический ping для проверки что сервер жив.
Полная спецификация payload'ов — в src/mcp_egrul/schemas.py (Pydantic-модели CompanyCard, IECard, SearchResult, BulkResult).
Требуется Python 3.11+ и uv (быстрая замена pip, опционально).
Альтернативно через pip:
Транспорт по умолчанию — stdio (стандартный ввод/вывод JSON-RPC). Подходит для подключения к Cursor / Claude Desktop / Claude Code.
claude_desktop_config.json).cursor/mcp.json в проекте или ~/.cursor/mcp.json глобально)Если не используете
uv, замените"command": "uvx", "args": ["atomno-mcp-egrul"]на"command": "atomno-mcp-egrul"(требуетpip install atomno-mcp-egrulилиpipx install atomno-mcp-egrul).
Через ~10 минут после импорта все тулзы (search_by_inn, search_by_name и пр.) уже отвечают данными из локального слепка ФНС.
Схема тома /data внутри контейнера:
Cron-демон (atomno-mcp-egrul-scheduler) сам забирает самую свежую выгрузку после
того как вы положите её в dumps/<registry>/<YYYY-MM-DD>/ — ночью в 03:00
Europe/Moscow. Если ничего нового нет — job завершится с nothing_to_import
и никаких лишних записей в import_log не сделает.
Источники:
https://www.nalog.gov.ru/opendata/7707329152-egrul/https://www.nalog.gov.ru/opendata/7707329152-egrip/Формат: суточные архивы XML в ZIP, ~15 ГБ на полный слепок. Юридически их нужно скачать с сайта ФНС после acceptance лицензии — сервер не качает архивы сам (строго).
CLI:
Exit-коды atomno-mcp-egrul-import:
| Код | Значение |
|---|---|
| 0 | Импорт прошёл успешно |
| 2 | Невалидный конфиг / аргумент CLI |
| 4 | Ошибка ингеста (битый XML, нет каталога дампов, DB error) |
| 5 | nothing_to_import — самая свежая дата уже в БД (инкремент) |
api.atomno-mcp.ru)Когда пользователь задаёт ATOMNO_API_KEY, все семь тулзов автоматически
проксируются на hosted Pro API (SPEC §5.4, §5.4.1). Локальный SQLite в этом
режиме не используется — hosted Pro даёт:
egrul.nalog.ru + Dadata fallback на стороне сервера.POST /companies/bulk) — один запрос вместо N локальных gather'ов.Цена: Pro — $10/мес отдельно или $15/мес в паре с mcp-fns-check (bundle-ключ). Free tier: 30 запросов/день/IP без регистрации (SPEC §1).
Настройка в Cursor (.cursor/mcp.json):
Поведение и ошибки — никакого silent fallback: если hosted API недоступен, клиент поднимает типизированное исключение, а не молча отдаёт данные из устаревшего локального дампа. Сопоставление HTTP ↔ MCP-код ошибки — в SPEC §5.4.1:
| HTTP-ответ hosted API | Исключение клиента | error.code |
|---|---|---|
| 200 | — | — |
| 400 | ValidationError | invalid_input |
| 401 | HostedAuthError | auth_required |
| 403 | ProRequiredError | pro_required |
| 404 (code=not_found) | NotFoundError | not_found |
| 404 (wrong route) | SourceUnavailableError | source_unavailable |
| 413 | BulkTooLargeError | bulk_too_large |
| 429 | RateLimitedError (+ Retry-After) | rate_limit |
| 5xx | SourceUnavailableError | source_unavailable |
| timeout / DNS fail | SourceUnavailableError (cause=timeout/ConnectError) | source_unavailable |
Валидация ИНН/ОГРН остаётся клиент-саид (контрольные цифры проверяются до HTTP-запроса — экономия round-trip на битых идентификаторах).
| Переменная | Описание | По умолчанию |
|---|---|---|
MCP_EGRUL_DB | Путь к SQLite-файлу со слепком ЕГРЮЛ/ЕГРИП | ./mcp_egrul_data.sqlite |
MCP_EGRUL_USER_AGENT | User-Agent HTTP-клиента | mcp-egrul/0.1 (+https://github.com/atomno-mcp/mcp-egrul) |
MCP_EGRUL_HTTP_TIMEOUT | Таймаут HTTP в секундах | 30 |
MCP_EGRUL_DUMPS_DIR | Каталог с дампами ФНС, структура <dir>/<registry>/<YYYY-MM-DD>/*.zip | ./dumps |
MCP_EGRUL_LOG_LEVEL | Уровень логирования | INFO |
TZ | Таймзона для scheduler (cron 03:00) | Europe/Moscow |
ATOMNO_API_KEY | (Pro) ключ hosted-подписки — включает проксирование на api.atomno-mcp.ru | не задан |
ATOMNO_API_BASE | (Pro) базовый URL hosted-API | https://api.atomno-mcp.ru/mcp-egrul/v1 |
Пример — см. .env.example.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/atomno-labs-mcp-egrul)<a href="https://allmcps.com/mcp/atomno-labs-mcp-egrul"><img src="https://allmcps.com/api/badge/atomno-labs-mcp-egrul?style=directory" alt="MCP Egrul on AllMCPs" /></a>