
Pulls daily foreign exchange rates from the Czech National Bank and exposes three straightforward tools: get the full daily rate sheet, convert between any two currencies using CZK as the cross rate, and retrieve the rate for a single currency code. You can optionally pass a date to query historical rates. It's part of a larger suite of Czech government data servers (ARES business register, sanctions screening, insolvency checks) but stands alone if all you need is reliable CZK conversion for invoicing, expense reports, or financial workflows tied to Czech koruna. Works over stdio or as a hosted HTTP endpoint at cnb.cz-agents.dev.
claude mcp add --transport http cnb https://cnb.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_ratesGet official CZK exchange rates published by ČNB. Returns all currencies from the daily sheet (~31 majors). Optional `date` parameter (YYYY-MM-DD) for historical rates; otherwise returns latest.1 paramsGet official CZK exchange rates published by ČNB. Returns all currencies from the daily sheet (~31 majors). Optional `date` parameter (YYYY-MM-DD) for historical rates; otherwise returns latest.
datestringconvertConvert an amount between two currencies using official ČNB rates. E.g., convert 100 EUR to CZK, or 50 USD to GBP (goes via CZK cross-rate). Optional `date` for historical conversion.4 paramsConvert an amount between two currencies using official ČNB rates. E.g., convert 100 EUR to CZK, or 50 USD to GBP (goes via CZK cross-rate). Optional `date` for historical conversion.
amount*numberdatestringfrom*stringto*stringget_rateQuick single-currency lookup. Returns just the CZK rate for one currency (or all rates if no code given).2 paramsQuick single-currency lookup. Returns just the CZK rate for one currency (or all rates if no code given).
code*stringdatestringModel 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