streamable-httpMITupdated 8d ago
Free, read-only access to Romania's official business registry (ONRC): every registered company, its CAEN activities, legal representatives, status, and 2025 financial statements — built from the state's own open-data dump and exposed over a tiny HTTP API and an MCP server.
What can you do with Leadgen MCP?
Leadgen — Romanian ONRC Business Registry (API + MCP)
Free, read-only access to Romania's official business registry (ONRC): every registered company, its CAEN activities, legal representatives, status, and 2025 financial statements — built from the state's own open-data dump and exposed over a tiny HTTP API and an MCP server.
- 4,196,860 companies
- 19.3M CAEN activity records
- 3.68M legal representatives
- 4.64M status entries
- 2025 financial statements loaded
Live endpoints (free, no auth)
REST API — https://onrc-api.adrianhomelab.com
| Endpoint | Description |
|---|---|
GET /lookup_business?query=<name|CUI>&max_results=N |
Search companies by name or tax code (CUI). |
GET /lookup_director?name=<name>&max_results=N |
Find companies by director / legal-representative name. |
GET /docs |
Interactive OpenAPI docs (Swagger UI). |
GET /health |
Liveness check. |
The landing page at https://onrc-api.adrianhomelab.com/ documents the schema
with a worked example.
MCP server — https://hermes.adrianhomelab.com/mcp (Streamable HTTP). Point
any MCP client at that URL. Tools: lookup_business, lookup_director,
lookup_financials, extract_contacts, lookup_domain.
Try it
# search by company name
curl "https://onrc-api.adrianhomelab.com/lookup_business?query=DEDEMAN&max_results=3"
# search by CUI (tax code)
curl "https://onrc-api.adrianhomelab.com/lookup_business?query=2816464"
# find companies by director name
curl "https://onrc-api.adrianhomelab.com/lookup_director?name=popescu"
{
"query": "DEDEMAN",
"total": 2,
"results": [
{
"companyName": "DEDEMAN SRL",
"cui": "2816464",
"registrationCode": "J1992002621040",
"legalForm": "SRL",
"county": "Bacău",
"website": "www.dedeman.ro",
"caenActivities": [ { "code": "0125", "activity": "…" } ],
"directors": [ "PAVĂL I. DRAGOŞ", "PAVĂL ADRIAN" ],
"status": [ { "code": "1048", "name": "funcțiune" } ]
}
]
}
Where the data comes from
The registry is built from the official ONRC snapshot published on
data.gov.ro — no scraping, no third-party vendor. The
loaders stream the CKAN CSVs into SQLite and build an FTS5 full-text index
with diacritic-insensitive folding, so popescu matches Popéscu and PAVĂL
matches paval.
Repository layout
| File | Purpose |
|---|---|
api.py |
FastAPI wrapper — the read-only public REST surface (+ landing page). |
server.py |
MCP server (Streamable HTTP) with all five tools. |
monetization.py |
Telemetry + a dormant freemium/rate-limit scaffold. |
load_onrc.py |
Download + load the ONRC CSV snapshot into SQLite. |
load_nomenclatoare.py |
Decode CAEN / status code tables. |
load_financiare.py |
Load the 2025 financial statements. |
server.json |
MCP Registry metadata (published as io.github.darksider4all/leadgen-mcp). |
smithery.yaml |
Smithery deployment config. |
Run locally
python -m venv venv
venv/bin/pip install -r requirements.txt
# load the data (downloads the official snapshots — several GB)
venv/bin/python load_onrc.py --data-dir ./data --db ./data/onrc.db
# start the REST API
ONRC_DB=./data/onrc.db venv/bin/python api.py
# start the MCP server
ONRC_DB=./data/onrc.db venv/bin/python server.py --transport streamable-http --port 8766
Then hit http://127.0.0.1:8767/docs.
Notes on the data
- Diacritic-insensitive search — Romanian
ă â î ș țare folded to their ASCII forms on both the index and the query. - CUI vs registration code — a numeric
queryis matched against the CUI (tax code) first, then the registration code. - Read-only — the public surface only exposes lookups; there are no write paths.
License
MIT — see LICENSE.
Install
Add Leadgen MCP to your client. Pick the one you use.
claude mcp add --transport http leadgen-mcp https://hermes.adrianhomelab.com/mcpcodex mcp add leadgen-mcp --url https://hermes.adrianhomelab.com/mcp{
"mcpServers": {
"leadgen-mcp": {
"url": "https://hermes.adrianhomelab.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"leadgen-mcp": {
"type": "http",
"url": "https://hermes.adrianhomelab.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"leadgen-mcp": {
"url": "https://hermes.adrianhomelab.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"leadgen-mcp": {
"serverUrl": "https://hermes.adrianhomelab.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation22/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Aug 13, 2026 |