
Generates payment QR codes in European formats: SPAYD for Czech and Slovak accounts, EPC/GiroCode for SEPA transfers, plus utility codes for plain text, Wi-Fi credentials, and vCard contacts. Also decodes existing QR images. Part of the cz-agents suite but stands alone with no API dependencies or AI features. Useful when you need Claude to produce scannable payment links for invoices or receipts without leaving the conversation. Works over stdio locally or via the hosted endpoint at payqr.cz-agents.dev. The encode operations take account details and amounts, return base64 or SVG, and handle all the format quirks so you don't have to look up IBAN validators or SPAYD spec sheets.
claude mcp add --transport http payqr https://payqr.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.
qr_paymentCreate a European payment QR code. Auto-selects SPAYD for CZ/SK IBANs and EPC/GiroCode for other SEPA IBANs.9 paramsCreate a European payment QR code. Auto-selects SPAYD for CZ/SK IBANs and EPC/GiroCode for other SEPA IBANs.
amountnumberbicstringconstant_symbolstringcurrencystringiban*stringmessagestringrecipient_namestringstandardstringspayd · epc · autodefault: autovariable_symbolstringqr_textCreate a QR code containing plain text.1 paramsCreate a QR code containing plain text.
text*stringqr_wifiCreate a Wi-Fi network QR code.4 paramsCreate a Wi-Fi network QR code.
hiddenbooleanpasswordstringsecuritystringWPA · WEP · nopassdefault: WPAssid*stringqr_vcardCreate a QR code containing a vCard 3.0 contact.4 paramsCreate a QR code containing a vCard 3.0 contact.
emailstringname*stringorgstringphonestringqr_readDecode a QR code from a base64 PNG/JPEG image or image data URI and classify its content.1 paramsDecode a QR code from a base64 PNG/JPEG image or image data URI and classify its content.
image_data*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