A few months ago I was testing a hypothesis. I asked Claude 3 Opus — Anthropic's most capable model at the time — something simple: "Find me the IČO of a company headquartered at Václavské náměstí 1 in Prague with the word 'technology' in its name."

The response was polite, but the substance was: "I can't. I don't have access to current data from Czech government registers."

That conversation perfectly illustrates the paradox of today's AI models. They're extraordinarily intelligent — they write code, analyse complex texts, and carry on expert-level conversations. But when it comes to data from the real, specific world — like the Czech ARES business register, the insolvency registry, or the list of sanctioned individuals — they're blind. And that's a serious problem.

The pain called manual research

If you work in compliance, KYC (Know Your Customer), or AML (Anti-Money Laundering), you know this process intimately. Every new client, every new transaction means another round of manual work. Open five browser tabs: Justice.cz, ARES, ISIR, the VAT non-payer registry, international sanctions lists. Copy the IČO, paste it in. Check the director's name, paste it in. Click through the history, verify connections.

A single company takes an average of 20–30 minutes of careful work. When you have fifty companies to vet in a week, you're looking at dozens of hours of monotonous clicking. It's work that is critically important and simultaneously extraordinarily inefficient and prone to human error. Work that was made for automation.

But how do you automate it when language models are cut off from the source data?

The solution: a USB port for AI agents

The answer is called MCP (Model-Context Protocol). It's an open standard that Anthropic introduced last autumn, which has quickly become the de facto standard for connecting AI agents to external tools. It's now stewarded by the Linux Foundation under the AAIF (Artificial Intelligence Interoperability Foundation) project.

Think of MCP as a USB port for language models. Just as you can plug a keyboard, mouse, or printer into USB, you can "plug" any tool into Claude or ChatGPT via MCP: a company database, an internal API, or a suite of servers for accessing Czech government data.

The AI agent then knows it has a lookup_company_by_ico tool available, and when you ask it about an IČO, instead of hallucinating or apologising, it simply calls that tool.

And that's exactly what I decided to build.

First look at cz-agents: an open-source toolkit

The result is the cz-agents project. It's an ecosystem of open-source MCP servers that expose key Czech data to any AI agent that speaks the MCP protocol.

Everything is available on GitHub under the MIT licence. The open-source part currently consists of seven packages, running on cz-agents.dev and free to use with a reasonable rate limit (30 requests/minute):

  1. @czagents/ares: Search ARES by IČO, DIČ, name, and check transparent bank accounts.
  2. @czagents/cnb: Daily CNB exchange rates for accounting operations.
  3. @czagents/sanctions: Screening against EU and OFAC sanctions lists, including fuzzy search and Cyrillic transliteration.
  4. @czagents/isir: Search the insolvency register.
  5. @czagents/adis: VAT payer reliability check.
  6. @czagents/dd: A basic due-diligence aggregator that combines ARES, ISIR, sanctions, and ADIS into a single call.
  7. @czagents/realestate: Anonymised district-level statistics on distressed properties (ISIR insolvencies + auctions) — an aggregate with k≥5 anonymity. Property detail, owner data, and bulk search are part of the hosted paid realestate-pro (see Open-core below).

Plus 2 hosted paid add-ons — dev.cz-agents/ddplus and dev.cz-agents/realestate-pro (both listed in MCP Registry, Bearer token authentication). More in the Open-core section.

Adding these tools to your AI agent is a matter of a few lines in your config. If you use Claude.ai, for example, you just add a Custom Connector:

{
  "name": "Czech Business Register (ARES)",
  "description": "Lookup Czech companies by IČO (ID number) or name.",
  "url": "https://ares.cz-agents.dev/mcp"
}

That's it. Your Claude just learned to work with the Czech business register.

An unexpected signal in the logs: the first organic user

I built it, put it on GitHub, and left the public endpoints running. No marketing, no announcement. I wanted to see whether there was any interest. And then it happened.

On the third of May this year, I was scanning through the server's access logs. Among the usual traffic and bot scans, I noticed something unusual. Repeated requests to the endpoint https://dd.cz-agents.dev/mcp. Source IP address: 160.79.106.x, belonging to Anthropic's load balancer. User-Agent: Claude-User.

Someone (= a single user behind Anthropic's load balancer; 4 different IP addresses within the /24 prefix means one person, not four) had found my @czagents/dd server through the official MCP Registry, added it as a Custom Connector, and started using it for real company vetting.

153 calls arrived over the previous six days. I could see progressive call sequences matching a real-world workflow: initialisation, listing available tools, then specific due-diligence queries. Access logs don't store request bodies, so I don't know the exact parameters — but the time pattern plus status codes (200 OK, no errors) suggest production usage, not an ad-hoc test.

For me, that was the strongest possible signal. Someone had exactly the problem I was trying to solve. And they found the solution organically, simply because an open standard and a public tool registry exist. No email, no advertising, no sales call. The infrastructure worked.

Why open-core? On data and algorithms

That initial success put a fundamental question in front of me: what next? Leave everything open-source and rely on sponsors, or build a sustainable business model?

I chose the path blazed by companies like Sentry, GitLab, and HashiCorp: open-core.

The idea is simple. The foundational building blocks — access to raw data from public registers and anonymised aggregates — remain and will always remain open-source (MIT). That's the seven packages I described above. You can self-host them, use my free endpoints, whatever you like.

The paid add-ons live in a closed repo, as hosted endpoints only — no self-hosting, no chance of exposing the code. Currently there are two:

This model feels fair to me. I give the community valuable tools for free, and I protect my IP and revenue in areas where years of real-world compliance and real estate experience live.

A practical example: what the AI agent actually does

What does this look like in practice? Imagine a compliance officer enters the following prompt into Claude:

"Conduct a deep-dive due diligence on Acme Imports s.r.o., IČO 00000000. Focus on risks associated with the directors and ownership structure."

With ddplus connected, in roughly 15 seconds the system accomplishes what would take 30–60 minutes of manual work and skill across five different registries:

The compliance officer sees the result in the chat as plain text — not JSON, not a table. Something like: "two of the three directors show a non-standard pattern in their history (detail below), the ownership structure leads to a company currently in active insolvency". If they want to go deeper, they click the source and verify it manually.

Second example: a real estate agent and distressed property

A real estate agent asks:

"Find me distressed properties in the Beroun district with a starting bid under 3 million CZK, preferably single-family homes, and tell me something about the owners."

With realestate-pro, Claude returns a list of available opportunities filtered by those criteria, plus a brief due diligence on the owners (a cross-check via the DD aggregator). Output: 3–5 properties with specific addresses, planned auction dates, and notes on the owner — ready for a decision, not for more clicking.

A few notes on architecture

For the technically inclined — no infra blueprint, just what's worth mentioning:

Roadmap and limits

Where to next? There are plenty of plans, but I try to keep my feet on the ground.

What I plan to do:

What I consciously will NOT do (at least in the foreseeable future):

Conclusion

cz-agents is an experiment. It's a bet that the future of software lies not just in prettier UIs, but in intelligent agents that handle the boring, repetitive work for us. And to do that, they need eyes and ears — they need access to real-world data.

If this project caught your attention, whether you're a compliance professional or an AI engineer, go explore it.

There's no "Buy Now" button here. There's an invitation to explore. If it makes sense to you, you know where to find me.