mcp-fns-check について
mcp-fns-check は、公開登記データを使ってロシアの企業や個人事業主を調査する MCP サーバーです。企業情報、状態、リスク確認に加え、判定と推奨事項をまとめて返すツールを備えています。
主な機能
- 01INN または OGRN による総合調査
- 02企業情報と法的状態の照会
- 03OKVED コードと代表者情報の照会
- 04リスク要因の確認
- 05判定と推奨事項の提示
- 06公開登記データの利用
活用シーン
- 01契約前のロシア取引先の確認
- 02企業の状態や登録事業内容の確認
- 03税務、執行、仲裁に関する潜在リスクの把握
MCP 対応
`check_contractor`、`check_inn`、`check_for_red_flags` など、7 種類のデューデリジェンスツールを MCP クライアントに公開します。stdio のほか、HTTP、SSE、streamable HTTP を選択できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
9掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
atomno-mcp-fns-check
ロシアの取引先を調査する MCP サーバーです。ЕГРЮЛ、破産、税金の滞納、執行官、仲裁事件を確認できます。企業調査に活用でき、Cursor、Claude、あらゆる MCP クライアントに接続できます。
AI エージェント向けのロシア取引先チェックツールです。
Claude Desktop、Cursor、Claude Code、Cline、および Model Context Protocol(MCP)に対応するその他のクライアントにすぐ接続できます。
目的
AI エージェント(Claude、Cursor など)は通常、ロシアの取引先について何も知りません。ЕГРЮЛは検索エンジンに適切にインデックスされておらず、ロシア連邦税務局の「Прозрачный бизнес」のデータはPOSTリクエストとCAPTCHAの向こうにあり、ЕФРСБはHTMLを返します。この MCP サーバーは、エージェントが1回の呼び出しで全体像を把握できる7つのツールを提供します。
- 企業の基本情報:名称、住所、OKVED、責任者。
- 事業の状況:営業中、清算手続き中、破産、清算済み、組織再編。
- 取引の安全性:多数の企業が登録された住所、複数の企業を兼任する責任者、資格剥奪、破産、税金の滞納、執行手続き、仲裁事件。
メインツールの check_contractor(identifier) は、INNまたはOGRNを受け取り、判定付きの統合レポート(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クライアントに接続してください。ネットワーク経由で使う場合は、--host / --port とともに --transport {http,sse,streamable-http} フラグを利用できます。
MCPクライアントへの接続
Cursor
mcp.json を編集します(Cursor → Settings → Cursor Settings → MCP)。
{
"mcpServers": {
"fns-check": {
"command": "atomno-mcp-fns-check"
}
}
}
Cursorを再起動します。チャットで「ИНН 7707083893の取引先を確認して」と尋ねると、エージェントが自動的に 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 | メイン。 1つの識別子による完全なチェック+確定的な判定と推奨事項 | 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 — 仲裁事件データベース。
- 税務局登録簿のローカルスナップショット — 大量登録住所、大量登録代表者、失格者(税務局の Open Data から
atomno-mcp-fns-etlスクリプトで読み込みます)。
税務申告の未提出チェックは含まれていません。この情報を提供する公開情報源が存在せず、データがない状態で「申告書は提出されています」と回答することはないためです。
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"
}
情報源の障害発生時の動作
- ЕГРЮЛ は唯一の blocking 情報源です。利用できない場合、
check_contractorはSourceUnavailableErrorを送出します(エージェントには人が読めるメッセージが返されます)。 - それ以外の情報源は best-effort で追加されます。ФССП の 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 で動作し(解析してサンプルを出力します)、書き込みには明示的に --commit を指定する必要があります。メタフィールド <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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。