by atomno-mcp
Provides aggregated verification of Russian legal entities and individual entrepreneurs using publicly available Federal Tax Service data, delivering a deterministic risk verdict and actionable recommendations for AI agents and compliance workflows.
Atomno Mcp Fns Check aggregates open data from the Russian Federal Tax Service (EGRUL/EGRIP, EFRSB, Transparent Business, FSSP, KAD) to evaluate a counterpart's legal status, activity, and risk profile. It returns a structured report with a clear verdict (safe, manual review, high risk, or defunct) and concrete recommendations.
pip install atomno-mcp-fns-check
atomno-mcp-fns-check --help
Options allow HTTP, SSE, or streamable‑HTTP transports with custom host/port.command to atomno-mcp-fns-check.check_contractor(identifier) from the client, passing an INN or OGRN. The server returns a JSON report.check_contractor) that aggregates five public sources.check_inn, check_ogrn, get_legal_status, get_okveds, get_directors_history, check_for_red_flags).manual_review_required.Q: Which identifiers are accepted? A: INN (10 or 12 digits) or OGRN/OGRNIP (13 or 15 digits).
Q: What happens if the primary EGRUL source is down?
A: The server raises SourceUnavailableError; the client receives a readable error message and the request fails.
Q: Are there rate limits or CAPTCHAs to worry about?
A: Sources like FSSP and KAD may present CAPTCHAs. The server treats them as non‑blocking; errors are recorded in risks.errors and the overall verdict becomes manual_review_required.
Q: Do I need API keys or credentials? A: No. All queried registries are public; configuration is limited to cache paths and HTTP settings.
Q: Can I update the local registry data?
A: Yes. Use the companion CLI atomno-mcp-fns-etl to import full Open Data slices for mass addresses, mass directors, and disqualified persons.
Q: Is there a hosted version? A: A Pro‑tier hosted backend exists (private repository) offering Redis caching, proxy rotation, batch checks, and LLM‑generated summaries, but the open‑source server runs locally.
MCP-сервер для проверки российских контрагентов (юридические лица и ИП) через публичные данные ФНС: ЕГРЮЛ/ЕГРИП, ЕФРСБ, «Прозрачный бизнес», ФССП, КАД.
Готов к подключению в Claude Desktop, Cursor, Claude Code, Cline и любой другой клиент, совместимый с Model Context Protocol (MCP).
AI-агент (Claude, Cursor, etc.) обычно ничего не знает о российских контрагентах: ЕГРЮЛ не индексируется поисковиками нормально, данные в Прозрачном бизнесе ФНС — за POST-запросами и CAPTCHA, ЕФРСБ отдаёт HTML. Этот MCP-сервер даёт агенту семь тулзов, через которые он за один вызов получит полную картину:
Главный тул — check_contractor(identifier) — принимает ИНН или ОГРН и возвращает агрегированный отчёт с вердиктом (safe_to_proceed / manual_review_required / high_risk_do_not_proceed / impossible_contractor_defunct) и список конкретных рекомендаций.
pip install atomno-mcp-fns-check
Или через uv / pipx:
uv pip install atomno-mcp-fns-check
# или
pipx install atomno-mcp-fns-check
atomno-mcp-fns-check --version
# → atomno-mcp-fns-check 0.1.1
atomno-mcp-fns-check --help
# → полный список флагов: --transport / --host / --port / --log-level
По умолчанию пакет запускается как stdio-MCP-сервер: агент общается с ним через stdin/stdout JSON-RPC. Напрямую из шелла вы его не «потыкаете» — подключите к MCP-клиенту. Для сетевых сценариев доступен флаг --transport {http,sse,streamable-http} с --host/--port.
Отредактируйте mcp.json (Cursor → Settings → Cursor Settings → MCP):
{
"mcpServers": {
"fns-check": {
"command": "atomno-mcp-fns-check"
}
}
}
Перезапустите Cursor. В чате спросите: «Проверь контрагента ИНН 7707083893» — агент сам вызовет check_contractor.
Отредактируйте claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"fns-check": {
"command": "atomno-mcp-fns-check"
}
}
}
Перезапустите Claude Desktop.
claude mcp add fns-check atomno-mcp-fns-check
В cline_mcp_settings.json:
{
"mcpServers": {
"fns-check": {
"command": "atomno-mcp-fns-check",
"disabled": false,
"autoApprove": []
}
}
}
| Тул | Назначение | Вход | Источники |
|---|---|---|---|
check_contractor |
Главный. Полная проверка по одному идентификатору + детерминированный вердикт и рекомендации | identifier: str (ИНН 10/12 или ОГРН 13/15) |
все 5 |
check_inn |
Базовая карточка ЕГРЮЛ | inn: str |
egrul.nalog.ru |
check_ogrn |
Базовая карточка по ОГРН/ОГРНИП | ogrn: str |
egrul.nalog.ru |
get_legal_status |
Жизненный статус с обогащением | inn или ogrn |
ЕГРЮЛ + ЕФРСБ |
get_okveds |
Коды ОКВЭД с расшифровкой | inn или ogrn |
ЕГРЮЛ + словарь ОКВЭД-2 |
get_directors_history |
Текущий руководитель (+ история по мере Open Data) | inn: str |
ЕГРЮЛ |
check_for_red_flags |
8 проверок риска (4 базовые + 4 расширенные) | inn: str |
все 5 |
Используемые публичные источники:
atomno-mcp-fns-etl из Open Data ФНС).check_contractor{
"identifier": "7707083893",
"identifier_type": "inn",
"inn": "7707083893",
"ogrn": "1027700132195",
"card": {
"name": {"full": "ПАО СБЕРБАНК", "short": "СБЕРБАНК"},
"status": "active",
"address": {"full": "117997, Г.Москва, УЛ. ВАВИЛОВА, Д. 19", "is_mass_address": false},
"director": {"full_name": "Греф Г. О.", "position": "Президент"},
"okved_main": {"code": "64.19", "name": "Денежное посредничество прочее"}
},
"legal_status": {"status": "active", "status_label_ru": "Действующее", "sources_checked": ["egrul", "efrsb"]},
"risks": {"overall_risk_level": "low", "overall_risk_score": 0, "flags": [], "errors": []},
"verdict_action": "safe_to_proceed",
"verdict_reason_ru": "Статус «Действующее», уровень риска — low (score 0/100). Препятствий к заключению сделки по открытым источникам не найдено.",
"recommendations": [
"По открытым источникам препятствий к заключению сделки не обнаружено. Соблюдайте стандартные меры должной осмотрительности (ст. 54.1 НК РФ): копия устава, приказ на руководителя, договор."
],
"sources": {"sources_queried": ["efrsb", "egrul", "fssp", "kad", "pb_fns", "registries"]},
"tier": "open",
"checked_at": "2026-04-24T20:15:00Z"
}
check_contractor поднимает SourceUnavailableError (агент получит человекочитаемое сообщение).risks.errors[] и НЕ валит отчёт. Верхнеуровневый вердикт становится manual_review_required.Все настройки — через переменные окружения. Никаких креденшелов не требуется (источники публичные).
| Переменная | Описание | По умолчанию |
|---|---|---|
MCP_FNS_CACHE_DB |
Путь к SQLite-файлу кэша карточек | ./atomno_mcp_fns_check_cache.sqlite |
MCP_FNS_REGISTRIES_DB |
Путь к SQLite-файлу реестров (массовые адреса/руководители/дисквалификации) | <cache>.registries.sqlite |
MCP_FNS_CACHE_TTL_HOURS |
TTL кэшированных карточек, часов | 168 (7 суток) |
MCP_FNS_HTTP_TIMEOUT |
Таймаут HTTP, секунд | 15 |
MCP_FNS_USER_AGENT |
User-Agent HTTP-клиента | atomno-mcp-fns-check/0.1 (+https://github.com/atomno-mcp/mcp-fns-check) |
MCP_FNS_LOG_LEVEL |
Уровень логирования (DEBUG/INFO/WARNING/ERROR) | INFO |
Шаблон — .env.example.
Реестры массовых адресов / руководителей / дисквалифицированных лиц — это CSV/XML-выгрузки Open Data ФНС. Пакет идёт со встроенным мини-сидом (registries_seed.json, синтетические тестовые записи) — его достаточно, чтобы тулзы работали «из коробки» и показывали флаги на тестовых ИНН.
Для production-проверок обновите реестры полными срезами через CLI atomno-mcp-fns-etl:
atomno-mcp-fns-etl --registry mass_addresses --source ./fns_open_data/ulm.csv --commit
atomno-mcp-fns-etl --registry mass_directors --source ./fns_open_data/uchredt.csv --commit
atomno-mcp-fns-etl --registry disqualified --source ./fns_open_data/disqualified.csv --commit
Источники Open Data:
mass_addresses → nalog.gov.ru/opendata/7707329152-massreg/mass_directors → nalog.gov.ru/opendata/7707329152-massuchredt/disqualified → service.nalog.ru/disqualified.doПо умолчанию CLI работает в --dry-run (парсит и печатает sample); для записи нужен явный --commit. Meta-поля <registry>.last_etl, <registry>.last_etl_source, <registry>.last_etl_count сохраняются автоматически — используйте их для cron-мониторинга свежести данных.
git clone https://github.com/atomno-mcp/mcp-fns-check
cd mcp-fns-check
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv/Scripts/activate # Windows
pip install -e ".[dev]"
pytest -v --cov=src/atomno_mcp_fns_check
Внешние API в тестах никогда не вызываются напрямую — только через respx (мокинг httpx) + локальные фикстуры в tests/fixtures/.
errors[], а общий вердикт становится manual_review_required.Pro-tier (hosted backend в atomno-mcp-fns-check-server — закрытый бэк) убирает эти ограничения через: кэш Redis 24h, ротация прокси для обхода CAPTCHA, полный срез Open Data ЕГРЮЛ, batch-проверки до 100 ИНН, AI-summary через LLM. Сам backend не опубликован.
XXX*****YY).Сервис — агрегатор и удобный интерфейс над публичными данными ФНС. Не аффилирован с ФНС России, ЕФРСБ, КАД, ФССП. Используется на ваш риск.
Информация в ответах сервиса не заменяет полноценной юридической или финансовой оценки. Решение о заключении договора с контрагентом принимаете вы.
MIT — см. LICENSE.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by robotmcp
Enables bidirectional integration of large language models with ROS‑enabled robots, allowing natural language commands and real‑time access to robot state, topics, services and parameters.
by sunsetcoder
Track flights in real time, retrieve arrival and departure times, view airport status, and monitor emergency situations using Flightradar24 data via a Model Context Protocol server.
by daiemon12
Provides a Model Context Protocol server that lets Claude AI drive Dassault Systèmes CATIA V5 through natural‑language commands, exposing more than 50 CAD operations via COM automation.
by EduBase
Enables Claude and other LLMs to interact with the EduBase e‑learning platform via the Model Context Protocol, allowing automated quiz creation, exam scheduling, and result analysis.
by 1102tools-dev
Provides deterministic, version‑controlled MCP servers that expose federal contracting and policy data from SAM.gov, USASpending, GSA CALC+, BLS OEWS, eCFR, Federal Register, Regulations.gov, and Acquisition.gov.
by armpro24-blip
Enables AI-driven generation, editing, verification, and simulation of mechanical designs using build123d/OpenCASCADE geometry and CalculiX analysis, while preserving editable parameters, stable topology pointers, and full provenance in a reproducible .aieng package.
by gNucleus
Generate editable CAD parts or assemblies directly from natural‑language prompts by leveraging gNucleus generative AI models through a lightweight MCP server.
by jyjune
Provides control and access to a video surveillance system, allowing retrieval of live and recorded video streams, channel status queries, PTZ camera positioning, and playback dialog management.
by Ninjabeam20
Provides AI‑callable tools for football, Formula 1, and cricket, enabling Monte Carlo World Cup bracket simulations, pit‑stop strategy recommendations, and constraint‑based Dream11 fantasy‑team optimisation.