
mcp-fns-check
io.github.atomno-mcpPublished by GitHub account atomno-mcpv0.1.12Updated Oct 25, 2026
Russian tax authority (FNS) counterparty checks: status, debts, blocks. Due diligence MCP.
The publisher's own server: check.tattoo: tattoo size and placement guide
Overview
Local MCP server that lets an assistant look up Russian companies and sole traders by INN or OGRN and get a due-diligence verdict from public registries.
- What you can do
- Run a full counterparty check by INN or OGRN, returning an aggregated report with a verdict and recommendations, or fetch a basic company card by INN or OGRN separately. Retrieve legal status (active, liquidation, bankruptcy, reorganisation) and OKVED activity codes with explanations. Look up the current director and, where open data allows, director history. Run seven red-flag checks covering mass addresses, mass directors, disqualification, bankruptcy, tax debts, enforcement proceedings and arbitration cases.
- When to use it
- Useful when an assistant has to vet a Russian business counterparty before a contract, or answer questions about a company's registration, status, director or risk signals from official public sources instead of general web search.
- Requirements
- Runs locally as a stdio process, installed from PyPI with pip, uv or pipx (Python). No credentials or API keys; all sources are public. Network access to the FNS, Fedresurs, FSSP and arbitration sites is needed. Optional environment variables set cache and registry database paths, cache TTL, HTTP timeout, user agent and log level. Mass-address, mass-director and disqualification checks need local registry slices loaded with the separate ETL command.
Installation
In SourceWeft
- Open mcp-fns-check in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
atomno-mcp-fns-check
MCP-сервер проверки российских контрагентов: ЕГРЮЛ, банкротство, налоговые долги, приставы и арбитражные дела. Для разведки компаний — подключается к Cursor, Claude и любому клиенту MCP.
Russian counterparty check for AI agents.
[build] [version] [license] [mcp] [tests] [coverage] [Glama]
[mcp-fns-check MCP server]Готов к подключению в 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) и список конкретных рекомендаций.
Быстрый старт
Установка
Или через uv / pipx:
Проверка работы
По умолчанию пакет запускается как stdio-MCP-сервер: агент общается с ним через stdin/stdout JSON-RPC. Напрямую из шелла вы его не «потыкаете» — подключите к MCP-клиенту. Для сетевых сценариев доступен флаг --transport {http,sse,streamable-http} с --host/--port.
Подключение к MCP-клиентам
Cursor
Отредактируйте mcp.json (Cursor → Settings → Cursor Settings → MCP):
Перезапустите Cursor. В чате спросите: «Проверь контрагента ИНН 7707083893» — агент сам вызовет check_contractor.
Claude Desktop
Отредактируйте claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
Перезапустите Claude Desktop.
Claude Code (CLI)
Cline (VS Code)
В cline_mcp_settings.json:
Тулзы
Используемые публичные источники:
- egrul.nalog.ru — ЕГРЮЛ/ЕГРИП, карточка контрагента.
- bankrot.fedresurs.ru — ЕФРСБ (Единый федеральный реестр сведений о банкротстве).
- Открытые данные ФНС, набор «debtam» — налоговая задолженность (локальная выгрузка).
- service.nalog.ru — живой реестр дисквалифицированных лиц.
- fssp.gov.ru — Банк данных исполнительных производств ФССП.
- kad.arbitr.ru — Картотека арбитражных дел.
- Локальные срезы реестров ФНС — массовые адреса, массовые руководители, дисквалифицированные лица (загружаются скриптом
atomno-mcp-fns-etlиз Open Data ФНС).
Проверки непредставления налоговой отчётности в наборе нет: публичного источника этих сведений не существует, а отвечать «отчётность сдаётся» без данных сервис не будет.
Пример ответа check_contractor
Поведение при сбоях источников
- ЕГРЮЛ — единственный blocking-источник. Если он недоступен,
check_contractorподнимаетSourceUnavailableError(агент получит человекочитаемое сообщение). - Остальные источники подмешиваются best-effort: CAPTCHA на ФССП, antibot на КАД, 5xx на pb.nalog.ru — всё складывается в
risks.errors[]и НЕ валит отчёт. Верхнеуровневый вердикт становитсяmanual_review_required.
Конфигурация
Все настройки — через переменные окружения. Никаких креденшелов не требуется (источники публичные).
Шаблон — .env.example.
Локальные реестры ФНС
Реестры массовых адресов / руководителей — это CSV-выгрузки открытых данных ФНС. Без загруженной выгрузки эти проверки отвечают «не выполнена» и не влияют на вердикт так, будто источник ответил. В поставке есть учебный файл registries_seed.json только для тестов; сервер его в рабочую базу не подгружает.
Для рабочих проверок загрузите срезы через CLI atomno-mcp-fns-etl:
Источники Open Data:
mass_addresses→ nalog.gov.ru/opendata/7707329152-masaddress/mass_directors→ nalog.gov.ru/opendata/7707329152-massleaders/disqualified→ service.nalog.ru/disqualified.do
По умолчанию CLI работает в --dry-run (парсит и печатает sample); для записи нужен явный --commit. Meta-поля <registry>.last_etl, <registry>.last_etl_source, <registry>.last_etl_count сохраняются автоматически — используйте их для cron-мониторинга свежести данных.
Разработка
Внешние API в тестах никогда не вызываются напрямую — только через respx (мокинг httpx) + локальные фикстуры в tests/fixtures/.
Ограничения
- Нет history для руководителей — ФНС не отдаёт историю смены через search-API; полная история появится после загрузки Open Data slice ЕГРЮЛ (планируется в v0.5+).
- ЕФРСБ (банкротство юрлица) для программного запроса закрыт защитой Qrator (
403/ проверка «человек или робот»). Автоматически эта проверка часто не выполняется; в отчёте это ошибка источника, а не «банкротства нет». Готового обхода нет — нужен официальный доступ Федресурса либо ручная проверка на bankrot.fedresurs.ru. - ФССП на публичном поиске отвечает окном с кодом с картинки. Код не разгадываем: проверка честно попадает в
errors[]с причинойcaptcha_required. - КАД на программный поиск отвечает
451(защита DDoS-Guard). Это не ошибка сертификата: сайт подписан Let's Encrypt. Официальный доступ — у оператора картотеки. В отчёте это «не проверено», не «судов нет». - Если часть проверок не ответила, итоговый уровень риска — «не определён» (
unknown), а не «низкий». Пустойflags[]сам по себе не означает «чисто». - Налоговые долги берутся из открытых данных ФНС (набор «debtam»): суммы недоимки, пеней и штрафов есть, но данные публикуются срезом за отчётную дату, а не в реальном времени. Актуальную сумму подтверждайте справкой ИФНС.
- Локальные реестры ФНС (массовые адреса, массовые руководители, дисквалифицированные) требуют регулярной загрузки. Если выгрузка пустая или устарела, проверка честно отвечает «не проверено» и попадает в
errors[]— «совпадений нет» по устаревшим данным не выдаётся. - Непредставление налоговой отчётности не проверяется — публичного источника нет.
Pro-tier (hosted backend в atomno-mcp-fns-check-server — закрытый бэк) убирает эти ограничения через: кэш Redis 24h, ротация прокси для обхода CAPTCHA, полный срез Open Data ЕГРЮЛ, batch-проверки до 100 ИНН, AI-summary через LLM. Сам backend не опубликован.
Безопасность и юридический статус
- Все источники — публично открытые данные ФНС и связанных реестров. Использование легально по 149-ФЗ «Об информации».
- Юридические лица и ИП не подпадают под 152-ФЗ (О персональных данных).
- ФИО физических лиц-руководителей публикуются ФНС в ЕГРЮЛ открыто; в outbound-ответах ИНН физлица-руководителя маскируется (формат
XXX*****YY). - Никаких write-операций ни в один внешний API.
- Никаких credential'ов / токенов не требуется — источники полностью публичные.
Дисклеймер
Сервис — агрегатор и удобный интерфейс над публичными данными ФНС. Не аффилирован с ФНС России, ЕФРСБ, КАД, ФССП. Используется на ваш риск.
Информация в ответах сервиса не заменяет полноценной юридической или финансовой оценки. Решение о заключении договора с контрагентом принимаете вы.
Лицензия
MIT — см. LICENSE.
Ссылки
- GitHub: atomno-mcp/mcp-fns-check
- Больше MCP-серверов под брендом atomno: каталог atomno-mcp.ru
- MCP-спецификация: modelcontextprotocol.io
Source: README.md at commit 4796a75
Tools
0Version history
1- v0.1.12LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Check integrations
check.tattoo: tattoo size and placement guide
tattoo.checkOfficial publisher
check.tattoo: tattoo size and placement guide's hosted MCP server, published by check.tattoo; no sign-in required; Streamable HTTP; 5 tools.
iva.pt — EU VAT check (VIES) and Portuguese VAT law
pt.ivaOfficial publisher
Validates EU VAT numbers against VIES and returns Portuguese VAT Code (CIVA) and RITI articles, in Portuguese or English.

U.S. Public Company Check
Published by GitHub account JusticeUA
Remote Apify-hosted MCP server that lets an assistant look up U.S. public company checks by SEC CIK: filing status, bankruptcy 8-K flag, LEI and sanctions.

Taiwan Company Check
Published by GitHub account JusticeUA
Remote MCP server that lets an assistant look up Taiwanese companies by Unified Business Number for tax status, LEI and sanctions checks.

Romania Company Check
Published by GitHub account JusticeUA
Looks up Romanian companies by CUI, returning status, insolvency, LEI and sanctions data from official registers.