Back to Browse

Leadgen MCP Server

Developer ToolsUse Caution2.2MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Romanian business-registry lookup, director search, contact extraction, and WHOIS/DNS audit.

About

Romanian business-registry lookup, director search, contact extraction, and WHOIS/DNS audit.

Remote endpoints: streamable-http: https://hermes.adrianhomelab.com/mcp

Security Report

2.2
Use Caution2.2Critical Risk

This MCP server exposes four lead-generation and enrichment tools for Romanian business data. While the core functionality is sound and permissions are appropriate for its purpose, there are significant security concerns: the server explicitly runs with no authentication ("no auth — validation phase"), making all tools accessible to any user; the website crawler (extract_contacts) performs unbounded requests to arbitrary domains without rate limiting or timeout protection; and the dependency on external CKAN APIs and live WHOIS/DNS queries introduces exfiltration and MITM risks. Additional code quality issues include overly broad exception handling, sensitive output logging, and unvalidated user input in DNS lookups. Supply chain analysis found 10 known vulnerabilities in dependencies (0 critical, 6 high severity).

5 files analyzed · 23 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

database

Check that this permission is expected for this type of plugin.

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

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 APIhttps://onrc-api.adrianhomelab.com

EndpointDescription
GET /lookup_business?query=<name|CUI>&max_results=NSearch companies by name or tax code (CUI).
GET /lookup_director?name=<name>&max_results=NFind companies by director / legal-representative name.
GET /docsInteractive OpenAPI docs (Swagger UI).
GET /healthLiveness check.

The landing page at https://onrc-api.adrianhomelab.com/ documents the schema with a worked example.

MCP serverhttps://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

FilePurpose
api.pyFastAPI wrapper — the read-only public REST surface (+ landing page).
server.pyMCP server (Streamable HTTP) with all five tools.
monetization.pyTelemetry + a dormant freemium/rate-limit scaffold.
load_onrc.pyDownload + load the ONRC CSV snapshot into SQLite.
load_nomenclatoare.pyDecode CAEN / status code tables.
load_financiare.pyLoad the 2025 financial statements.
server.jsonMCP Registry metadata (published as io.github.darksider4all/leadgen-mcp).
smithery.yamlSmithery 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 query is 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.

Reviews

No reviews yet

Be the first to review this server!