MCP for ARES, the Czech business registry: lookup, due diligence, insolvency, signed provenance
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for ARES — the Czech business registry. Validate IČO/DIČ, look up companies, statutory bodies, trade licenses and addresses directly from Claude Desktop, Claude Code, Cursor and any other MCP-compatible client.
Open-source (MIT), self-hosted. Runs against the public ARES API — your queries never leave your machine. Optionally emits Ed25519-signed, sourced answers so anyone can verify their integrity and origin offline.
Hosted version: icovazby.cz — full web company-checks across 10+ Czech registers (ARES, Public Register, trade licenses, insolvency, sanctions, …).
ARES (Administrativní registr ekonomických subjektů) is the official public registry of Czech businesses, operated by the Czech Ministry of Finance (MFČR). This project is an independent, community-built MCP server that calls the public ARES REST API.
Not affiliated with the Czech Ministry of Finance. This project is not affiliated with, endorsed by, or sponsored by MFČR or the ARES operator. "ARES" refers to the public information system; this MCP server is third-party software.
ares_full_due_diligence macro with 🟢🟡🔴 risk flag, and an export adapter that emits Fakturoid / iDoklad / Pohoda payloads ready to POST./mcp) for remote / web deployment.Retry-After), per-IP request throttling on the HTTP variant, structured errors, no PII stored or logged by default.Two ways to run ares-mcp — pick one:
Then point your MCP client at the absolute path of dist/index.js. The per-client examples below use this from-source form — swap "command": "node", "args": ["…/dist/index.js"] for the npx form above if you prefer a zero-install setup.
Edit your claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonRestart Claude Desktop.
In Cursor settings → MCP servers:
After npm run build, this prints absolute-path config blocks for Claude Desktop, Cursor, Claude Code, and the local HTTP transport:
Copy the JSON block straight into your client's MCP config — no path editing needed.
(Equivalent to npx @modelcontextprotocol/inspector node dist/index.js.)
Opens a browser UI at http://localhost:6274 where you can list tools, fill arguments, and run them against live ARES — no client configuration needed.
A second entry point exposes the same tools over MCP Streamable HTTP. Useful when sharing one running instance across multiple local clients.
Endpoints:
POST /mcp — Streamable HTTP transport (JSON-RPC over HTTP / SSE)GET /healthz — liveness + session countConfiguration via environment variables:
| Variable | Default | Description |
|---|---|---|
PORT | 3030 | Listen port |
ARES_HTTP_RATE_LIMIT | 60 | Per-IP requests per minute (token bucket) |
ARES_HTTP_MAX_BODY | 1000000 | Max request body bytes |
ARES_HTTP_SESSION_TTL_MS | 3600000 | Idle session timeout |
ARES_HTTP_ALLOW_ORIGIN | (unset) | If set, sent as Access-Control-Allow-Origin (e.g. * or https://example.com) |
There is no built-in authentication — bind it to 127.0.0.1 only or put a reverse proxy in front if you ever need to expose it.
| Tool | Purpose |
|---|---|
ares_validate_ico | Mod-11 checksum validation. No network call. |
ares_lookup_company | Aggregated company profile by IČO. |
ares_search_companies | Structured search by name, postcode, NACE, legal form. |
ares_get_statutory_bodies | Directors, board, partners (from VR). |
ares_get_trade_licenses | Trade licenses (from RŽP). |
ares_check_vat_payer | VAT-payer status with optional DIČ cross-check. |
ares_standardize_address | Canonicalize a free-form address via RÚIAN. |
ares_lookup_cz_nace | CZ-NACE classification lookup. |
ares_cross_company_persons | Given 2–50 IČOs, find persons who hold active statutory roles in two or more of them. Returns JSON + Mermaid graph. |
ares_search_by_address | Find all entities at a given address. Flags virtual offices / shell-address concentrations. |
ares_get_res_classification | Statistical classification from RES — size bracket, ESA 2010 sector, NUTS region. |
ares_check_insolvenci | Fast red-flag: is the entity currently in insolvency proceedings (IR) or marked as bankrupt (CEÚ)? |
ares_full_due_diligence | One-shot DD report — profile + statutary + licenses + VAT + insolvency + 🟢🟡🔴 risk flag + Markdown summary. |
ares_export_for_invoicing | Transform an ARES profile into a Fakturoid / iDoklad / Pohoda payload ready for invoicing systems. Pure transformation — no calls to the target system. |
"Validate IČO 27074358 and tell me if it's a VAT payer and which region it's based in."
"Find Czech IT companies (CZ-NACE 620) registered in Prague."
"Who are the statutory directors of IČO 26168685? When were they appointed?"
"Standardize this address: 'Za prachárnou 4962/45, Jihlava'."
"Look up the CZ-NACE code for software development."
"I have IČOs 26185610, 46967851, 46900411, 27435148. Are any people on the boards of more than one? Draw it."
"Run a full due-diligence check on IČO 45193258 before I sign anything."
The DD prompt calls ares_full_due_diligence and returns a complete risk-flagged report. Real example (Liberty Ostrava a.s., captured 2026-06-07):
The same prompt on a healthy company (AGROFERT IČO 26185610) yields 🟢 GREEN with 12 active statutary members and no findings.
The last prompt uses ares_cross_company_persons. The tool returns a Mermaid graph that Claude Desktop, Claude Code, and Cursor will render inline. On the Agrofert holding example above, the tool reports that Michal Jedlička sits on three of the four boards and Jaroslav Kurčík on two — a classic holding-group fingerprint.
ARES's public REST v3 API does not expose a search-by-person endpoint (the AngazovanaOsobaFiltr schema is defined but unused). ares_cross_company_persons therefore operates over a known set of IČOs that you provide — it does not enumerate the registry. Full reverse lookup ("which companies has Jan Novák ever sat on?") requires a mirrored graph database and is out of scope for this MIT-licensed server.
Run ares_cross_company_persons with four IČOs from the Agrofert group (AGROFERT itself + three subsidiaries) and the tool returns the full board overlap. Captured from a live ARES call on 2026-06-07:
Rendered as Mermaid (Claude Desktop / Claude Code / Cursor render this inline):
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ares-czech-business-registry)<a href="https://allmcps.com/mcp/ares-czech-business-registry"><img src="https://allmcps.com/api/badge/ares-czech-business-registry?style=directory" alt="ARES (Czech business registry) on AllMCPs" /></a>