
Pulls Czech company compliance data into Claude via ARES (business register), EU and OFAC sanctions lists, and ISIR (insolvency register). The main tool is get_dd_report, which returns a unified risk score, red flags, and a recursive statutory chain walk to surface ultimate beneficial owners or nominee directors. Good for pre-invoice KYC checks, vendor screening before contracts, or triaging a batch of suppliers by insolvency and sanctions exposure. Runs locally via stdio or against the hosted HTTP endpoint at dd.cz-agents.dev. The hosted version adds nominee detection heuristics and address crowding analysis. Requires SANCTIONS_DB path for local use.
claude mcp add --transport http dd https://dd.cz-agents.dev/mcpRun in your terminal. Add --scope user to make it available in every project.
Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.
Verified live against the running server on Jun 10, 2026.
get_dd_reportGenerate a complete due-diligence report for a Czech IČO. Returns company facts (name, address, legal form, VAT status, bank accounts), statutory body with per-member sanctions check, and a transparent risk score with all triggered red flags.2 paramsGenerate a complete due-diligence report for a Czech IČO. Returns company facts (name, address, legal form, VAT status, bank accounts), statutory body with per-member sanctions check, and a transparent risk score with all triggered red flags.
depthstringbasic · fulldefault: basicico*stringwatch_entityStart onboarding for free monitoring of one Czech company by IČO. Stub only — persists nothing yet. Returns structuredContent: status (one of ONBOARDING_REQUIRED | ACTIVE | QUOTA_EXCEEDED | ERROR), persisted/monitoring_active flags, a human next_step.url for onboarding (the us...1 paramsStart onboarding for free monitoring of one Czech company by IČO. Stub only — persists nothing yet. Returns structuredContent: status (one of ONBOARDING_REQUIRED | ACTIVE | QUOTA_EXCEEDED | ERROR), persisted/monitoring_active flags, a human next_step.url for onboarding (the us...
ico*stringget_risk_scoreLightweight version of get_dd_report — returns just the numeric score (0-100), risk level, and top triggered red flags. Faster when you only need a yes/no/maybe screen.1 paramsLightweight version of get_dd_report — returns just the numeric score (0-100), risk level, and top triggered red flags. Faster when you only need a yes/no/maybe screen.
ico*stringget_statutory_chainSurname-based heuristic walk through statutory bodies of related Czech companies. Best for shell-company unwinding in small s.r.o. with RARE surnames. NOT a true UBO source — for actual beneficial ownership use the ESM (evidence skutečných majitelů, separate registry, future @...2 paramsSurname-based heuristic walk through statutory bodies of related Czech companies. Best for shell-company unwinding in small s.r.o. with RARE surnames. NOT a true UBO source — for actual beneficial ownership use the ESM (evidence skutečných majitelů, separate registry, future @...
ico*stringmax_depthintegerdetect_nominee_directorDetect "white horse" / nominee director patterns — 3 surface indicators (age outlier, multi-board membership, recent appointment) computable from ARES data alone. Returns indicator breakdown with riskScore 0-100. Pro Compliance tier or higher. For 8-indicator deep analysis inc...1 paramsDetect "white horse" / nominee director patterns — 3 surface indicators (age outlier, multi-board membership, recent appointment) computable from ARES data alone. Returns indicator breakdown with riskScore 0-100. Pro Compliance tier or higher. For 8-indicator deep analysis inc...
ico*stringdetect_phoenixDetect phoenix company pattern — 3 surface indicators (surname match with prior insolvent director, founding proximity < 12 months to insolvency, NACE sector presence) computable from ARES + ISIR data alone. Returns PhoenixReport with riskScore 0-100. Pro Compliance tier or hi...1 paramsDetect phoenix company pattern — 3 surface indicators (surname match with prior insolvent director, founding proximity < 12 months to insolvency, NACE sector presence) computable from ARES + ISIR data alone. Returns PhoenixReport with riskScore 0-100. Pro Compliance tier or hi...
ico*stringget_risk_timelineBuild a chronologically sorted lifecycle timeline for a Czech company — basic events include company formation, statutory appointments, active insolvency, sanctions matches, VAT reliability flips. Returns events[] with riskScore 0-100. Pro Compliance tier or higher. For enrich...1 paramsBuild a chronologically sorted lifecycle timeline for a Czech company — basic events include company formation, statutory appointments, active insolvency, sanctions matches, VAT reliability flips. Returns events[] with riskScore 0-100. Pro Compliance tier or higher. For enrich...
ico*stringdetect_address_crowdingDetects "shell-firm hotel" patterns — counts how many companies share the same registered address. Threshold-based risk: 1-9 normal (multi-tenant office), 10-49 mild (legitimate coworking), 50-199 medium (virtual office provider), 200+ high (shell-firm hotel). Compliance tier...1 paramsDetects "shell-firm hotel" patterns — counts how many companies share the same registered address. Threshold-based risk: 1-9 normal (multi-tenant office), 10-49 mild (legitimate coworking), 50-199 medium (virtual office provider), 200+ high (shell-firm hotel). Compliance tier...
ico*stringget_eu_dd_reportEU Due-Diligence report for an international company. Input: 20-char LEI code, or company name + optional country. Returns GLEIF entity data (status, address, registration number) plus sanctions screening against EU/OFAC lists. Coverage notes per country included. Note: GLEIF...2 paramsEU Due-Diligence report for an international company. Input: 20-char LEI code, or company name + optional country. Returns GLEIF entity data (status, address, registration number) plus sanctions screening against EU/OFAC lists. Coverage notes per country included. Note: GLEIF...
countrystringidentifier*stringget_eu_parentFind the EU/international parent company for a Czech IČO. Looks up the company name in ARES, then searches GLEIF (Global LEI Foundation) for a matching LEI-registered entity. Returns LEI, name, country, and confidence level (HIGH/MEDIUM/LOW). Note: GLEIF covers mid/large inter...1 paramsFind the EU/international parent company for a Czech IČO. Looks up the company name in ARES, then searches GLEIF (Global LEI Foundation) for a matching LEI-registered entity. Returns LEI, name, country, and confidence level (HIGH/MEDIUM/LOW). Note: GLEIF covers mid/large inter...
ico*stringModel Context Protocol servers for Czech & EU due diligence and KYC/AML — company facts, insolvency (ISIR), EU + OFAC sanctions screening, VAT-payer reliability, phoenix & nominee-director detection, quantified risk score and statutory-chain (UBO) ownership analysis. Built on native access to ARES (company registry), ČNB (FX rates), ADIS (VAT-payer status) and 16 EU business registries (GB, SK, PL, NL, IT, AT, ES, BE, LT, DE, FR, NO, DK, FI, EE, SE).
Want a hosted, production-ready version? cz-agents.dev — managed API with a 14-day free trial (no credit card). Adds higher quotas, nominee detection, risk timeline, address crowding, watchlist monitoring, and a web compliance dashboard. Your self-hosted config keeps working after upgrade — same endpoints, same token format.
Don't want to wire an MCP client? The same data is available as a web application:
Landing page: cz-agents.dev · Listed in: official MCP Registry under DNS-verified namespace dev.cz-agents/*
| Package | Source | Status |
|---|---|---|
@czagents/ares | ARES — Czech Business Register | ✅ live |
@czagents/cnb | ČNB — daily FX rates | ✅ live |
@czagents/sanctions | EU + OFAC sanctions screening (KYC/AML) | ✅ live |
@czagents/isir | ISIR — Czech insolvency register | ✅ live |
@czagents/adis | ADIS — unreliable VAT payer (nespolehlivý plátce DPH) + transparent accounts | ✅ live |
@czagents/dd | Due-diligence aggregator (ARES + sanctions + ISIR + ADIS + statutory chain) | ✅ live |
@czagents/realestate | Czech distress real estate intelligence (ISIR sales + portál dražeb) | ✅ live (v0.1) |
@czagents/eu-registry | EU business registries — 16 countries (GB, SK, PL, NL, IT, AT, ES, BE, LT, DE, FR, NO, DK, FI, EE, SE) via Companies House / ORSR / KRS / SIRENE / BRREG / CVR / PRH / RIK / Bolagsverket / VIES / GLEIF | ✅ live |
@czagents/payqr | Payment QR codes (SPAYD / EPC-GiroCode) — bonus utility | ✅ live |
| Server | What it adds | Where |
|---|---|---|
dev.cz-agents/ddplus | 8-indicator nominee director detection (cross-DB), phoenix recidiva, enriched risk timeline with AI narrative, recursive linked-entities risk analysis (depth 1-3), shell-firm address crowding with provider detection, daily watchlist monitoring with email digest | Hosted-only at ddplus.cz-agents.dev/mcp — see pricing |
{
"mcpServers": {
"ares": { "command": "npx", "args": ["-y", "@czagents/ares"] },
"cnb": { "command": "npx", "args": ["-y", "@czagents/cnb"] },
"sanctions": { "command": "npx", "args": ["-y", "@czagents/sanctions"], "env": { "SANCTIONS_DB": "/path/to/sanctions.db" } },
"isir": { "command": "npx", "args": ["-y", "@czagents/isir"], "env": { "ISIR_SOAP_ENABLED": "1" } },
"adis": { "command": "npx", "args": ["-y", "@czagents/adis"], "env": { "ADIS_SOAP_ENABLED": "1" } },
"dd": { "command": "npx", "args": ["-y", "@czagents/dd"], "env": { "SANCTIONS_DB": "/path/to/sanctions.db", "ADIS_SOAP_ENABLED": "1" } },
"eu-registry": { "command": "npx", "args": ["-y", "@czagents/eu-registry"] },
"payqr": { "command": "npx", "args": ["-y", "@czagents/payqr"] },
"realestate": { "command": "npx", "args": ["-y", "@czagents/realestate"] }
}
}
{
"mcpServers": {
"ares": { "url": "https://ares.cz-agents.dev/mcp" },
"cnb": { "url": "https://cnb.cz-agents.dev/mcp" },
"sanctions": { "url": "https://sanctions.cz-agents.dev/mcp" },
"isir": { "url": "https://isir.cz-agents.dev/mcp" },
"adis": { "url": "https://adis.cz-agents.dev/mcp" },
"dd": { "url": "https://dd.cz-agents.dev/mcp" },
"eu-registry": { "url": "https://eu-registry.cz-agents.dev/mcp" },
"payqr": { "url": "https://payqr.cz-agents.dev/mcp" },
"realestate": { "url": "https://realestate.cz-agents.dev/mcp" }
}
}
@czagents/ares (10 tools)lookup_by_ico({ ico }) — full company recordsearch_companies({ query, city, street, psc, nace, pocet }) — combined searchsearch_by_address({ street, city, psc }) — all companies at an addresssearch_by_nace({ nace, city }) — by CZ-NACE activity codeget_statutaries({ ico }) — current statutory body (for due diligence)validate_dic({ dic }) — DIČ format + MOD11 checksumcheck_vat_payer({ ico }) — VAT registration + transparent accountsget_bank_accounts({ ico }) — DPH-published accountsget_history({ ico }) — previous names, address changeswatch_entity({ ico }) — start free monitoring onboarding for one company@czagents/cnb (3 tools)get_rates({ date? }) — full daily FX sheetconvert({ amount, from, to, date? }) — CZK-crossed conversionget_rate({ code, date? }) — single currency rate@czagents/sanctions (6 tools)search_person({ name, dob?, nationality?, threshold? }) — fuzzy KYC screen against EU + OFACsearch_entity({ name, country?, threshold? }) — entity / company screencheck_ico({ ico, name? }) — direct lookup of a Czech IČO on sanctions listsget_listing({ id }) — full record by ${source}:${id}list_recent_updates({ since, source? }) — daily monitoring (added/removed/modified)rescreen_portfolio({ subjects[], since, source? }) (paid; available when x402 is enabled) — re-screen your own subject list against sanctions-list changes@czagents/isir (3 tools)check_ico_insolvency({ ico }) — direct lookup of a Czech IČO in the insolvency registersearch_person_insolvency({ ico?, rc?, dob?, firstname?, surname? }) — find a person by IČO, birth number, or name + DOBpoll_isir_events({ since }) — append-only event feed for daily monitoring@czagents/adis (3 tools)check_dph_payer({ ico OR dic }) — full reliability check via ADIS V2: status (ANO/NE/NENALEZEN), subject type, name, address, transparent bank accounts (§ 96a ZDPH), unreliable-since datecheck_bulk_dph_payer({ icos[] OR dics[] }) — batch up to 100 subjects (lighter response, status + accounts only)list_unreliable_payers() — full list of currently unreliable payers (50–100 MB, intended for daily mirroring)@czagents/dd (12 tools)person_companies({ name, birth_year? }) — Czech VR companies connected to a person (free, anonymous)get_owners({ ico }) — direct + upstream Czech VR ownership tree (free, anonymous)get_dd_report({ ico, depth }) — unified ARES + sanctions + ISIR report with risk scorewatch_entity({ ico }) — start free monitoring onboarding for one companyget_risk_score({ ico }) — fast 0–100 score + top red flagsget_statutory_chain({ ico, max_depth }) — surname-based statutory-body walk for shell-company unwindingdetect_nominee_director({ ico }) — 3-indicator "white horse" director detection (Compliance tier+)detect_phoenix({ ico }) — phoenix-company pattern detection (Compliance tier+)get_risk_timeline({ ico }) — chronological company lifecycle/risk timeline (Compliance tier+)detect_address_crowding({ ico }) — shell-firm "address hotel" detection (Compliance tier+)get_eu_dd_report({ lei OR name, country? }) — EU DD report: GLEIF entity data + EU/OFAC sanctions check (Compliance tier+)get_eu_parent({ ico }) — find EU/international parent via ARES → GLEIF LEI matching (Compliance tier+)@czagents/eu-registry (3 tools)search_company({ name, country?, limit? }) — search non-Czech registries by company name across 16 countriesget_company({ id, country }) — company record by national ID (CRN / IČO / KRS / SIREN / LEI / VAT / …)lookup_company_by_vat({ vat }) — free VIES VAT validity + name/address lookup@czagents/payqr (6 tools)qr_payment({ iban, bic?, amount?, ... }) — payment QR (auto SPAYD for CZ/SK, EPC/GiroCode for other SEPA)qr_text({ text }) — plain-text QRqr_wifi({ ssid, password?, security? }) — Wi-Fi network QRqr_vcard({ name, phone?, email?, ... }) — vCard 3.0 contact QRqr_read({ image_data }) — decode + classify a QR code from a base64 imageqr_payment_batch({ payments[] }) (paid; available when x402 is configured) — payment QRs for a whole invoice run in one call@czagents/realestate (1 tool, free tier only)get_district_aggregate({ okres, window_days? }) — anonymised district-level distress real-estate stats (ISIR insolvencies + portál dražeb/CEVD forced sales); counts under 5 are banded to protect individual identificationA toolkit for compliance, KYC/AML, accounting and cross-border checks over Czech & EU registries:
@czagents/dd aggregator combines the above into a risk score, statutory-chain / UBO walk, and EU-parent lookup.@czagents/eu-registry).Use a single-source server when you need just one dataset; use the due-diligence aggregator for combined, scored output.
Example prompts the aggregator handles well:
A/A/A on Glama (quality / security / license), claimed and maintained.
Listed in the official MCP registry
under DNS-verified namespace dev.cz-agents/*.
MIT © Martin Havel — see LICENSE