Dev.to AI 🤖 Ai 👁 0 📖 5 min read

Romania's company registry, now callable from Claude and Cursor (MCP + REST)

Last month I wrote about building a free API over Romania's company registry — 4.2 million firms from ONRC, plus ANAF data, because there was no free way to look a company up by CUI without opening four government portal

Last month I wrote about building a free API over Romania's company registry — 4.2 million firms from ONRC, plus ANAF data, because there was no free way to look a company up by CUI without opening four government portals.

The part people actually replied about was the MCP server. So this post is the how-to: wiring Romanian company data into Claude, Cursor, or any MCP-capable client in about three minutes.

Why an agent wants this

If you do anything with Romanian companies — B2B sales, invoicing, compliance, KYB, market research — the workflow is always the same shape. Someone hands you a name or a CUI. You go to the registry. You copy fields into a doc. You check whether the firm is still active. You try to find the phone number.

That is exactly the loop an agent should close on its own. The only reason it can't is that the registry speaks Romanian HTML tables and CAPTCHA, not JSON.

The config

Point your client at the streamable HTTP endpoint:

{
  "mcpServers": {
    "leadgen": {
      "url": "https://leadgen-mcp.adrianhomelab.com/mcp"
    }
  }
}

That's it for Cursor and Claude Code. For a client that only reads command-line servers, wrap it with mcp-remote:

npx -y mcp-remote https://leadgen-mcp.adrianhomelab.com/mcp

No key is required to start. Anonymous access is 5 queries a day per IP — enough to try it.

What the agent gets

Sixteen tools, all read-only. The ones I use most:

Tool For
lookup_business One firm by CUI or name: status, address, CAEN codes, ANAF VAT state
lookup_companies Batch up to 100 CUIs, one row out per row in, same order
match_companies Fuzzy match up to 500 rows (name + county + domain) against the registry
find_company_by_domain Which company owns this website — with SPF/DMARC audit
lookup_director Every firm a person is registered at — useful for due diligence
lookup_financials Turnover, profit, employees, year by year
watch_company / watch_caen Monitor a firm, or an entire CAEN activity code, for changes

A real exchange looks like this:

You: which company runs emag.ro, and is its VAT still active?

Agent: (calls find_company_by_domain, then lookup_business) — Dante International SA, CUI 14399840, Bucharest, VAT-active as of this month.

The watch_* pair is the sleeper feature: it turns the registry into a feed. Watch a competitor's CUI and you hear about a director change, a branch opening, or a new CAEN code without polling anything yourself.

If you'd rather not use MCP

Same data over plain REST:

curl "https://leadgen.adrianhomelab.com/lookup_business?cui=14399840" \
  -H "X-API-Key: lg_your_key"

Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset, and GET /usage tells you where you stand without spending a query. Interactive docs with try-it-out: leadgen.adrianhomelab.com/docs.

The limits, stated plainly

  • No key: 5 queries/day per IP. Free key from /start: 25/day. Resets 00:00 UTC.
  • Every endpoint is free during launch. When paid plans arrive, Pro (€9/month) takes the full 2008–2025 financial history, ratios, health scores, revenue/employee/VAT filters, CSV export and lists over 25 rows. The free tier keeps the company profile, status and risk, ANAF data, last-year figures, and lists up to 25 rows. Nothing free today becomes paid without warning.
  • Batches count per row, and a batch larger than your remaining quota is refused whole rather than half-executed.

Why I'm giving it away

The registry data is public. What isn't public is a sane interface to it, and every Romanian developer has now paid the same tax of scraping HTML tables or buying a €200/month KYB subscription for data that came out of a government PDF.

So the free tier is real, not a trial: it exists because the alternative for most people is not paying me, it's giving up on the lookup. The paid tier is for teams who need depth — a decade of financials, ratios, bulk export.

Getting started

Two minutes, no card:

  1. Get a free key at leadgen.adrianhomelab.com/start
  2. Add the MCP config above, or call the REST endpoint with X-API-Key
  3. Ask your agent about a Romanian company

Landing page (EN): leadgen.adrianhomelab.com/en · MCP server card: leadgen-mcp.adrianhomelab.com

It's a solo project, so if something is missing — a field you need, an endpoint that doesn't exist, a county your data is wrong for — reply here or open an issue from the /feedback page. I read both.

More from me

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.