Skip to main content
Glama

atomno-mcp-fns-check

MCP-Server zur Überprüfung russischer Vertragspartner (juristische Personen und Einzelunternehmer) über öffentliche Daten des Föderalen Steuerdienstes (FNS): EGRUL/EGRIP, EFRSB, „Transparent Business“, FSSP, KAD.

build version license mcp tests coverage

Bereit zur Einbindung in Claude Desktop, Cursor, Claude Code, Cline und jeden anderen Client, der mit dem Model Context Protocol (MCP) kompatibel ist.


Warum

Ein KI-Agent (Claude, Cursor, etc.) weiß normalerweise nichts über russische Vertragspartner: Das EGRUL wird von Suchmaschinen nicht ordnungsgemäß indexiert, Daten im „Transparent Business“ des FNS liegen hinter POST-Anfragen und CAPTCHAs, das EFRSB liefert HTML. Dieser MCP-Server stellt dem Agenten sieben Tools zur Verfügung, mit denen er in einem einzigen Aufruf ein vollständiges Bild erhält:

  • Wer ist das: Name, Adresse, OKVED, Geschäftsführer.

  • Status: aktiv, in Liquidation, Insolvenz, liquidiert, Reorganisation.

  • Ist die Zusammenarbeit sicher: Massenadresse, Massengeschäftsführer, Disqualifikation, Insolvenz, Steuerschulden, Nichtabgabe von Berichten, Vollstreckungsverfahren, Schiedsgerichtsverfahren.

Das Haupt-Tool check_contractor(identifier) akzeptiert eine INN oder OGRN und gibt einen aggregierten Bericht mit einem Urteil (safe_to_proceed / manual_review_required / high_risk_do_not_proceed / impossible_contractor_defunct) sowie eine Liste konkreter Empfehlungen zurück.


Related MCP server: mcp-egrul

Schnellstart

Installation

pip install atomno-mcp-fns-check

Oder über uv / pipx:

uv pip install atomno-mcp-fns-check
# или
pipx install atomno-mcp-fns-check

Überprüfung der Funktion

atomno-mcp-fns-check --version
# → atomno-mcp-fns-check 0.1.1

atomno-mcp-fns-check --help
# → полный список флагов: --transport / --host / --port / --log-level

Standardmäßig startet das Paket als stdio-MCP-Server: Der Agent kommuniziert über stdin/stdout JSON-RPC mit ihm. Direkt aus der Shell können Sie ihn nicht „testen“ – verbinden Sie ihn mit einem MCP-Client. Für Netzwerkszenarien ist das Flag --transport {http,sse,streamable-http} mit --host/--port verfügbar.


Verbindung zu MCP-Clients

Cursor

Bearbeiten Sie mcp.json (Cursor → Settings → Cursor Settings → MCP):

{
  "mcpServers": {
    "fns-check": {
      "command": "atomno-mcp-fns-check"
    }
  }
}

Starten Sie Cursor neu. Fragen Sie im Chat: „Überprüfe den Vertragspartner INN 7707083893“ – der Agent ruft check_contractor selbstständig auf.

Claude Desktop

Bearbeiten Sie claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "fns-check": {
      "command": "atomno-mcp-fns-check"
    }
  }
}

Starten Sie Claude Desktop neu.

Claude Code (CLI)

claude mcp add fns-check atomno-mcp-fns-check

Cline (VS Code)

In cline_mcp_settings.json:

{
  "mcpServers": {
    "fns-check": {
      "command": "atomno-mcp-fns-check",
      "disabled": false,
      "autoApprove": []
    }
  }
}

Tools

Tool

Zweck

Eingabe

Quellen

check_contractor

Haupt-Tool. Vollständige Prüfung anhand eines Identifikators + determiniertes Urteil und Empfehlungen

identifier: str (INN 10/12 oder OGRN 13/15)

alle 5

check_inn

Basis-Karte EGRUL

inn: str

egrul.nalog.ru

check_ogrn

Basis-Karte nach OGRN/OGRNIP

ogrn: str

egrul.nalog.ru

get_legal_status

Lebensstatus mit Anreicherung

inn oder ogrn

EGRUL + EFRSB

get_okveds

OKVED-Codes mit Erläuterung

inn oder ogrn

EGRUL + OKVED-2 Wörterbuch

get_directors_history

Aktueller Geschäftsführer (+ Historie gemäß Open Data)

inn: str

EGRUL

check_for_red_flags

8 Risikoprüfungen (4 Basis + 4 erweitert)

inn: str

alle 5

Verwendete öffentliche Quellen:

  • egrul.nalog.ru — EGRUL/EGRIP, Vertragspartner-Karte.

  • bankrot.fedresurs.ru — EFRSB (Einheitliches föderales Register für Insolvenzinformationen).

  • pb.nalog.ru — Transparent Business des FNS (Steuerschulden, Nichtabgabe von Berichten).

  • fssp.gov.ru — Datenbank der Vollstreckungsverfahren des FSSP.

  • kad.arbitr.ru — Kartothek der Schiedsgerichtsverfahren.

  • Lokale Auszüge der FNS-Register — Massenadressen, Massengeschäftsführer, disqualifizierte Personen (werden per Skript atomno-mcp-fns-etl aus den Open Data des FNS geladen).

Beispiel für eine Antwort von 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"
}

Verhalten bei Quellenausfällen

  • EGRUL ist die einzige blocking-Quelle. Wenn sie nicht verfügbar ist, löst check_contractor einen SourceUnavailableError aus (der Agent erhält eine menschenlesbare Nachricht).

  • Andere Quellen werden nach dem Best-Effort-Prinzip eingebunden: CAPTCHA bei FSSP, Antibot bei KAD, 5xx bei pb.nalog.ru – alles wird in risks.errors[] gesammelt und führt nicht zum Abbruch des Berichts. Das übergeordnete Urteil wird zu manual_review_required.


Konfiguration

Alle Einstellungen erfolgen über Umgebungsvariablen. Es sind keine Anmeldedaten erforderlich (die Quellen sind öffentlich).

Variable

Beschreibung

Standardwert

MCP_FNS_CACHE_DB

Pfad zur SQLite-Cache-Datei für Karten

./atomno_mcp_fns_check_cache.sqlite

MCP_FNS_REGISTRIES_DB

Pfad zur SQLite-Datei der Register (Massenadressen/Geschäftsführer/Disqualifikationen)

<cache>.registries.sqlite

MCP_FNS_CACHE_TTL_HOURS

TTL der zwischengespeicherten Karten in Stunden

168 (7 Tage)

MCP_FNS_HTTP_TIMEOUT

HTTP-Timeout in Sekunden

15

MCP_FNS_USER_AGENT

User-Agent des HTTP-Clients

atomno-mcp-fns-check/0.1 (+https://github.com/atomno-labs/mcp-fns-check)

MCP_FNS_LOG_LEVEL

Logging-Level (DEBUG/INFO/WARNING/ERROR)

INFO

Vorlage: .env.example.


Lokale FNS-Register

Die Register für Massenadressen / Geschäftsführer / disqualifizierte Personen sind CSV/XML-Exporte der Open Data des FNS. Das Paket enthält einen integrierten Mini-Seed (registries_seed.json, synthetische Testdatensätze) – dies reicht aus, damit die Tools „out of the box“ funktionieren und Flags für Test-INNs anzeigen.

Für Produktionsprüfungen aktualisieren Sie die Register mit vollständigen Auszügen über die 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 Quellen:

Standardmäßig arbeitet die CLI im --dry-run-Modus (parst und druckt ein Sample); für das Schreiben ist ein explizites --commit erforderlich. Meta-Felder <registry>.last_etl, <registry>.last_etl_source, <registry>.last_etl_count werden automatisch gespeichert – nutzen Sie diese für das Cron-Monitoring der Datenaktualität.


Entwicklung

git clone https://github.com/atomno-labs/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

Externe APIs werden in Tests niemals direkt aufgerufen – nur über respx (Mocking von httpx) + lokale Fixtures in tests/fixtures/.


Einschränkungen

  • Keine Historie für Geschäftsführer – Das FNS liefert keine Historie der Wechsel über die Search-API; eine vollständige Historie wird nach dem Laden des Open Data-Auszugs des EGRUL verfügbar sein (geplant für v0.5+).

  • FSSP / KAD blockieren manchmal durch CAPTCHA / Antibot. In diesem Fall fällt die Prüfung in errors[] und das Gesamturteil wird zu manual_review_required.

  • Transparent Business liefert nur den Fakt („hat Schulden“ / „keine Berichte“), ohne Betrag. Der Betrag muss bei der IFNS angefragt werden.

Pro-Tier (gehostetes Backend in atomno-mcp-fns-check-server – geschlossenes Backend) beseitigt diese Einschränkungen durch: 24h Redis-Cache, Proxy-Rotation zur Umgehung von CAPTCHAs, vollständiger Open Data-Auszug des EGRUL, Batch-Prüfungen bis zu 100 INNs, KI-Zusammenfassung via LLM. Das Backend selbst ist nicht veröffentlicht.


Sicherheit und rechtlicher Status

  • Alle Quellen sind öffentlich zugängliche Daten des FNS und verbundener Register. Die Nutzung ist gemäß 149-FZ „Über Information“ legal.

  • Juristische Personen und Einzelunternehmer fallen nicht unter das 152-FZ (Über personenbezogene Daten).

  • Die Namen natürlicher Personen als Geschäftsführer werden vom FNS im EGRUL offen veröffentlicht; in ausgehenden Antworten wird die INN der natürlichen Person maskiert (Format XXX*****YY).

  • Keine Schreibvorgänge in irgendeine externe API.

  • Keine Anmeldedaten / Token erforderlich – die Quellen sind vollständig öffentlich.


Haftungsausschluss

Der Dienst ist ein Aggregator und eine benutzerfreundliche Schnittstelle für öffentliche Daten des FNS. Er ist nicht mit dem FNS Russlands, dem EFRSB, KAD oder FSSP verbunden. Die Nutzung erfolgt auf eigenes Risiko.

Die Informationen in den Antworten des Dienstes ersetzen keine vollständige rechtliche oder finanzielle Bewertung. Die Entscheidung über den Abschluss eines Vertrags mit einem Vertragspartner treffen Sie.


Lizenz

MIT – siehe LICENSE.


A
license - permissive license
A
quality
B
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
2wRelease cycle
7Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Central Bank of Russia (CBR) data for AI agents — daily and historical currency rates, key rate, inflation, and macro statistics. Five typed MCP tools, in-memory TTL cache, MIT-licensed, no API key required.
    5
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for the Russian state registries EGRUL (legal entities) and EGRIP (individual entrepreneurs), built on official Federal Tax Service open-data dumps. Self-hosted via local SQLite.
    8
    2
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    MCP server that provides 31 tools for the DaData API, enabling address autocomplete, company lookup, bank details, phone/email/passport validation, car recognition, geocoding, and reference directory queries.
    31
    19
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for verifying Polish business entities from the National Court Register (KRS) and VAT White List. Allows querying by KRS, NIP, or REGON to retrieve official company data including name, address, board, and capital.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/atomno-mcp/mcp-fns-check'

If you have feedback or need assistance with the MCP directory API, please join our Discord server