关于 mcp-fns-check
mcp-fns-check 是一款 MCP 服务,使用公开登记数据核查俄罗斯公司和个体经营者。其工具可提供企业资料、状态、风险检查,以及附带建议的汇总判定。
主要功能
- 01按 INN 或 OGRN 汇总核查
- 02查询企业资料与法律状态
- 03查询 OKVED 代码和负责人信息
- 04检查风险指标
- 05提供判定结果和建议
- 06使用公开登记数据
适用场景
- 01签约前审查俄罗斯交易对手
- 02核查企业状态和登记经营活动
- 03识别潜在税务、执行或仲裁风险
MCP 相关
它向 MCP 客户端提供七种尽职调查工具,包括 `check_contractor`、`check_inn` 和 `check_for_red_flags`。可通过 stdio 运行,也可选择 HTTP、SSE 或 streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
atomno-mcp-fns-check
用于核查俄罗斯交易对手方的 MCP 服务:统一国家法人登记簿(ЕГРЮЛ)、破产、税务欠款、司法执行人员和仲裁案件。适用于公司背景调查,可连接到 Cursor、Claude 和任何 MCP 客户端。
面向 AI Agent 的俄罗斯交易对手方核查工具。
可连接到 Claude Desktop、Cursor、Claude Code、Cline 以及任何其他兼容 Model Context Protocol(MCP)的客户端。
用途
AI Agent(Claude、Cursor 等)通常不了解俄罗斯交易对手方:统一国家法人登记簿(ЕГРЮЛ)无法通过搜索引擎正常检索;联邦税务局“透明经营”服务的数据藏在 POST 请求和 CAPTCHA 之后;统一联邦破产信息登记簿(ЕФРСБ)返回的是 HTML。此 MCP 服务为 Agent 提供七种工具,让它一次调用即可获取完整信息:
- 对方是谁:名称、地址、全俄经济活动分类代码(ОКВЭД)、负责人。
- 是否仍在经营:正常经营、清算中、破产、已清算、重组。
- 与其合作是否安全:批量注册地址、批量负责人、取消资格、破产、税务欠款、执行程序、仲裁案件。
主要工具 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 服务形式运行:Agent 通过 stdin/stdout JSON-RPC 与其通信。无法直接在 shell 中“试用”,请将其连接到 MCP 客户端。网络场景可使用 --transport {http,sse,streamable-http} 标志,以及 --host/--port。
连接到 MCP 客户端
Cursor
编辑 mcp.json(Cursor → Settings → Cursor Settings → MCP):
{
"mcpServers": {
"fns-check": {
"command": "atomno-mcp-fns-check"
}
}
}
重启 Cursor。在聊天中提问:“核查纳税人识别号 7707083893 的交易对手方”——Agent 会自动调用 check_contractor。
Claude Desktop
编辑 claude_desktop_config.json(macOS:~/Library/Application Support/Claude/,Windows:%APPDATA%\Claude\):
{
"mcpServers": {
"fns-check": {
"command": "atomno-mcp-fns-check"
}
}
}
重启 Claude Desktop。
Claude Code(CLI)
claude mcp add fns-check atomno-mcp-fns-check
Cline(VS Code)
编辑 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 | 7 项风险检查(4 项基本检查 + 3 项扩展检查) | inn: str | 全部来源 |
使用的公共来源:
- egrul.nalog.ru — ЕГРЮЛ/ЕГРИП、交易对手信息卡片。
- bankrot.fedresurs.ru — ЕФРСБ(破产信息统一联邦登记簿)。
- 俄罗斯联邦税务局开放数据,“debtam”数据集 — 税务欠款(本地数据导出)。
- service.nalog.ru — 实时失去任职资格人员登记簿。
- fssp.gov.ru — 俄罗斯联邦法警局执行程序数据库。
- kad.arbitr.ru — 仲裁案件档案。
- 俄罗斯联邦税务局登记簿的本地数据切片 — 大众地址、大众负责人、失去任职资格人员(通过脚本
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(Agent 会收到易于理解的消息)。 - 其他来源以 尽力而为的方式合并:ФССП 的 CAPTCHA、КАД 的 antibot、pb.nalog.ru 的 5xx 错误——都会写入
risks.errors[],且不会导致报告失败。顶层判定会变为manual_review_required。
配置
所有设置均通过环境变量配置。不需要凭据(来源均为公开来源)。
| 变量 | 说明 | 默认值 |
|---|---|---|
MCP_FNS_CACHE_DB | 信息卡片缓存 SQLite 文件路径 | 用户数据目录(%LOCALAPPDATA%/atomno/ 或 ~/.local/share/atomno/),而非项目文件夹 |
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 | HTTP 客户端的 User-Agent | 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 导出文件。未加载导出文件时,这些检查会返回“未执行”,且不会像来源已响应那样影响判定。软件包中包含一个教学文件 registries_seed.json,仅用于测试;服务不会将其加载到生产数据库中。
如需进行生产环境核查,请通过 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-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 监控数据的新鲜度。
Разработка
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/.
Ограничения
- Нет 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。