
ARES (Czech business registry)
io.github.milos106由 GitHub 帳號 milos106 發布v0.1.2更新於 Oct 24, 2026
MCP for ARES, the Czech business registry: lookup, due diligence, insolvency, signed provenance
概覽
本機 MCP 伺服器,讓助理查詢捷克 ARES 公開商業登記資料庫中的公司資訊、執行盡職調查並匯出開票資料。
- 可以做什麼
- 驗證捷克公司識別碼(IČO),並查詢加值稅納稅人身分,可選擇交叉比對稅號;檢核碼步驟不需連網。查詢公司檔案、法定機關成員、營業執照、統計分類與 CZ-NACE 行業代碼。依名稱、郵遞區號、NACE 或法律形式搜尋公司,並找出同一地址下的所有實體以辨識虛擬辦公室地址。在使用者提供的 2 至 50 個公司識別碼範圍內,找出在多家公司擔任法定職務的人員,回傳 JSON 與 Mermaid 關聯圖。一次產生附綠/黃/紅風險標記的盡職調查報告,含破產查核與 Markdown 摘要。將公司檔案轉換為 Fakturoid、iDoklad 或 Pohoda 開票系統所需的資料。
- 適用情境
- 適合在簽約前查核捷克商業夥伴、核對開票資訊,或在已知的一組公司中調查共同董事與地址集中現象。適合處理捷克公司資料並希望在 AI 用戶端內完成查詢的使用者。
- 執行需求
- 透過 stdio 在本機執行,通常使用 npx 或已建置的 Node.js 套件,因此需要 Node.js。需連網存取 ARES 公開 REST API。不需 API 金鑰或帳號。選用環境變數可設定基礎 URL、速率額度、逾時與重試次數;設定簽章金鑰變數可啟用帶簽章的來源證明。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 ARES (Czech business registry),將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
ares-mcp
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.
- Free, MIT-licensed code. No API key required (ARES is a public API).
- 14 stable tools covering the full due-diligence + invoicing workflow: validation, lookup, structured search, search-by-address (virtual-office detection), statutory bodies, trade licenses, VAT check, address standardization, NACE lookup, RES statistical classification (size bracket, ESA 2010 sector), insolvency check, cross-company person graph with Mermaid + optional historical mode for nominee detection, a one-shot
ares_full_due_diligencemacro with 🟢🟡🔴 risk flag, and an export adapter that emits Fakturoid / iDoklad / Pohoda payloads ready to POST. - Two transports. Stdio (default) for local AI clients, Streamable HTTP (
/mcp) for remote / web deployment. - Verifiable provenance (optional). With a signing key set, the due-diligence, statutory-bodies and insolvency tools return a signed envelope where every fact carries its registry source + date; verify it offline against the published JWKS. A technical integrity & origin proof — not a qualified e-signature or an official extract.
- Defensive by design. Rate-limit aware (token bucket + exponential backoff with
Retry-After), per-IP request throttling on the HTTP variant, structured errors, no PII stored or logged by default.
Setup
Two ways to run ares-mcp — pick one:
Option A — npx (no install, recommended)
Option B — from source
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.
Claude Desktop
Edit your claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Restart Claude Desktop.
Claude Code
Cursor
In Cursor settings → MCP servers:
Get ready-to-paste client config
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.
Try it interactively with MCP Inspector
(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.
Run as a local HTTP service
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 count
Configuration via environment variables:
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.
Tools
Example prompts
"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.
A note on person→companies search
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.
Real example — the Agrofert holding
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):
The third connection — AGROFERT a.s. itself listed as a corporate director in two of its subsidiaries — is a real holding-company pattern that flat per-company listings miss but the graph helper surfaces automatically.
Configuration
The server reads optional environment variables:
Error handling
Errors are returned as a JSON payload inside the tool result (with isError: true) so the agent can reason about them. Codes:
Data attribution & license
ARES data is published by the Czech Ministry of Finance as open data under the Creative Commons Attribution 4.0 (CC BY 4.0) license. When using output from these tools in your own products, content, or analysis, you must attribute the source.
Suggested attribution string:
Source: ARES — Administrativní registr ekonomických subjektů, © Ministerstvo financí ČR, https://ares.gov.cz/, licensed under CC BY 4.0.
Each tool result includes an _attribution field with the full citation block for convenience.
The code of this MCP server is licensed under the MIT license (see LICENSE); the upstream data license (CC BY 4.0) is independent of and unaffected by this code license.
Acceptable use of the ARES API
The MFČR publishes operational rules for the ARES public API. Using this MCP server does not exempt you from those rules — your client must respect them. Summary:
- Max 500 requests per minute per user. Above that, MFČR reserves the right to block access.
- Do not run repeated malformed queries.
- Do not maintain excessive concurrent automated queries.
- Do not circumvent rate limits using multiple IP addresses.
- Do not perform random database crawling (e.g. mass IČO enumeration).
- Do not probe security boundaries.
This server enforces a default budget of 5 req/s (300/min) and exponential backoff. You are responsible for staying inside the MFČR limits in aggregate, especially if you run multiple instances.
Full operating conditions: wwwinfo.mfcr.cz/ares/ares_podminky.html.cz.
Disclaimers
- Data is public, not authoritative for legal proceedings. All information from ARES is, per MFČR, "pouze informativního charakteru" (informational only). For court use, obtain an official extract from the Public Register at justice.cz.
- VAT-payer status from ARES is up to 24h delayed. The authoritative source is the MFČR VAT registry at adisspr.mfcr.cz. A future Premium tier may add a direct MFČR check.
- GDPR. ARES contains personal data of statutory representatives (names, dates of birth). Publication of this data rests on the public-task lawful basis (Article 6(1)(e) GDPR) for MFČR. If you process this data downstream — including by passing it to your own LLM, storing it, or showing it to end-users — you are the controller and must comply with GDPR yourself. This server does not log requests or store responses by default.
Roadmap
- v0.x (current): 8 free MVP tools, MIT-licensed, npm-distributed.
- Premium tier (planned):
ares_subscribe_changes,ares_bulk_lookup,ares_due_diligence_report,ares_export_to_invoice_systems.
Contributing
Bug reports and PRs welcome. Run:
before submitting.
Links
- icovazby.cz — hosted company checks
- ARES portal
- ARES OpenAPI spec
- ARES Swagger UI
- Model Context Protocol
- MCP TypeScript SDK
License
MIT © Miloš Pospíšil
來源:README.md,提交 6f8a60f
工具
0版本歷史
1- v0.1.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分