The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Cnb listing page.
Model 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 |
@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