Leadgen MCP — Romanian company data (ONRC, ANAF, financial statements)
A remote Model Context Protocol server for Romania's official business
registry: 4.2M firms from ONRC, the ANAF fiscal layer (VAT, e-Factura, fiscal inactivity, phone)
and 18 years of financial statements (Ministry of Finance, 2008–2025) with ratios and peer benchmarks.
Romanian company data for agents: 4.2M ONRC firms, ANAF status, financials 2008–2025. Free key.
Free: 5 lookups a day without a key, 25 a day with a free key from
https://leadgen.adrianhomelab.com/start — send it as Authorization: Bearer <key> (or X-API-Key).
Claude (claude.ai and Claude Desktop): Customize → Connectors → Add custom connector →
URL https://leadgen-mcp.adrianhomelab.com/mcp, no sign-in; add the Authorization header with your key if your plan allows custom headers.
Without a key every client works for 5 calls a day; get_usage tells you what is left.
Run locally (open client)
The hosted endpoint above is the main product and the simplest way in. If your client only speaks
stdio, or you want to run the MCP server yourself, this repository also ships leadgen-mcp: a small
open-source (MIT) local MCP server with the same 17 tools. It holds no data: every tool calls Leadgen's
public REST API (https://leadgen.adrianhomelab.com/docs), so answers, limits and keys are the same as
on the hosted server. Tool names, descriptions and schemas are a snapshot of the hosted server's
tools/list (leadgen_mcp/tools.json, refreshed with scripts/sync_tools.py).
It is on PyPI as leadgen-mcp (Python 3.10 or newer):
uvx leadgen-mcp
or install it:
pip install leadgen-mcp
leadgen-mcp
To run the latest commit on main instead of the release:
uvx --from git+https://github.com/darksider4all/leadgen-mcp leadgen-mcp.
or run it in Docker: docker build -t leadgen-mcp . then docker run -i --rm -e LEADGEN_API_KEY leadgen-mcp.
Leave LEADGEN_API_KEY out to use the 5 anonymous lookups a day.
How it relates to the hosted server: same tools, same data, and the same daily allowance
(one allowance per key, or per IP without one, whichever door the call comes through). A refusal (no key, daily limit, suspended key) comes back as a tool
error that keeps the server's message and the link to a free key; for the daily limit it says when it
resets (00:00 UTC). The key is sent as the X-API-Key header, only when it is set. Watches need a key.
Development: pip install -e ".[test]" && pytest (no network); LEADGEN_LIVE=1 pytest tests/test_live.py
makes one real anonymous lookup; LEADGEN_DRIFT=1 pytest tests/test_drift.py compares tools.json
with the live server card; python scripts/check_public.py checks that nothing private is committed.
Tools
Tool
What it does
lookup_business
Look up a Romanian company by name or CUI (tax code) in the official ONRC registry of 4.2M firms.
lookup_companies
Look up many Romanian companies by CUI in one call (up to 100): one result per input, in input order, each with found true/false and the company record.
find_company_by_domain
Find the Romanian firm behind a website domain (dedeman.ro).
match_companies
Match a list of up to 500 records (name, optional county, domain or CUI) to Romanian firms: each row gets match {cui, companyName, confidence, matchedOn} and the record, or no_match with up to 3 candidates.
lookup_by_category
Find companies by what they do, not by name: a curated topic ('software', 'retail'), plain words ('dentists', a CAEN class title; see matched) or CAEN codes ('4321,4322'; 6201 also finds Rev.3 6210).
lookup_director
Find Romanian companies by the name of a director or legal representative (ONRC).
extract_contacts
Crawl a company website and extract emails, phone numbers and social profiles.
enrich_company
A whole-firm profile in one call: the ONRC registry record plus the contacts discovered on that firm's website, each labelled with a confidence and a source.
lookup_domain
WHOIS plus DNS records (A, MX, NS, TXT) and an SPF/DMARC email-security audit for a domain.
lookup_financials
Annual financial statements for a Romanian company from Ministry of Finance filings, every fiscal year on record since 2008: revenue, profit, headcount and balance-sheet lines in RON with each year's ratios (growth, margins, equity ratio, liquidity), plus a summary (3/5/10-year CAGR, loss years, health score).
lookup_financial_ratios
Derived financial intelligence for a Romanian company: multi-year revenue trend (YoY, 3/5/10-year CAGR), margins, headcount, solvency and liquidity ratios, a 0-100 health score with its rule-by-rule breakdown, red flags, and peer percentiles within the same CAEN activity and county.
watch_company
Register a company (by CUI) to monitor.
watch_caen
Watch a CAEN activity code, optionally scoped to one county, for newly registered firms.
poll_watchlist
Collect everything the watch tools have found: call it to drain the changeset for every watch owned by your API key, most severe first.
unwatch
Stop watching a firm (cui) or a CAEN code (code, with its county if it had one). A watch you do not hold answers removed: 0.
get_usage
Show your own allowance: plan, daily limit, lookups used today, how many remain, when it resets (00:00 UTC) and any credit balance.
report_issue
Tell the Leadgen founder what is missing or wrong: a missing field, firm or source (kind 'gap'), a wrong company record ('wrong_record', pass its cui), a bug, an idea.
Every company-bearing answer carries asOf (registry snapshot, financial year, ANAF load date) — cite it.
Data and credit
Registry and financial statements: ONRC and the Ministry of Finance via data.gov.ro, licensed CC BY 4.0;
fiscal data: ANAF. When you publish data obtained through Leadgen, credit it as:
"Sursa: ONRC și Ministerul Finanțelor (data.gov.ro, CC BY 4.0) și ANAF, prin Leadgen".
Look up a Romanian company by name or CUI (tax code) in the official ONRC registry of 4.2M firms. Diacritic-insensitive ('paval' finds 'PAVAL'); a CUI matches exactly. The first call for a named Romanian company. Ranked with a score: live firms first (exact name, then words), closed ones after; coun
Look up many Romanian companies by CUI in one call (up to 100): one result per input, in input order, each with found true/false and the company record. Each row is one lookup; rows past today's allowance come back not_processed (partial: true, remaining: rows to resend after the reset). fields or c
Find the Romanian firm behind a website domain (dedeman.ro). Uses the registry's website field, else reads the site's home and legal/contact pages for the CUI or registration number it shows (matchedOn: registry_website, site_cui). Without one, it says so and offers name candidates from the page tit
Match a list of up to 500 records (name, optional county, domain or CUI) to Romanian firms: each row gets match {cui, companyName, confidence, matchedOn} and the record, or no_match with up to 3 candidates. A valid CUI wins (confidence 1.0). Each row is one lookup; rows past today's allowance come b
Find companies by what they do, not by name: a curated topic ('software', 'retail'), plain words ('dentists', a CAEN class title; see matched) or CAEN codes ('4321,4322'; 6201 also finds Rev.3 6210). Narrow by county; qualify by revenue, headcount, VAT, main activity. active_only (default) drops dea
Find Romanian companies by the name of a director or legal representative (ONRC). Diacritic-insensitive. Whole words: 'pop maria' finds POP MARIA, not POPA MARIANA; prefix=true matches prefixes. The registry has no personal ID, so one name can be several people: homonyms and byCounty say so. Use thi
Crawl a company website and extract emails, phone numbers and social profiles. Accepts a bare domain or a full URL; max_pages (1-20, default 5) bounds the crawl.
A whole-firm profile in one call: the ONRC registry record plus the contacts discovered on that firm's website, each labelled with a confidence and a source. Prefer this over lookup_business followed by extract_contacts when you want everything about one company. cui is its tax code; website overrid
WHOIS plus DNS records (A, MX, NS, TXT) and an SPF/DMARC email-security audit for a domain. Use it to profile a company's web estate or check its email posture. include_dns and include_security toggle the two halves.
Annual financial statements for a Romanian company from Ministry of Finance filings, every fiscal year on record since 2008: revenue, profit, headcount and balance-sheet lines in RON with each year's ratios (growth, margins, equity ratio, liquidity), plus a summary (3/5/10-year CAGR, loss years, hea
Financial analysis of a Romanian company: multi-year revenue trend (YoY, 3/5/10-year CAGR), margins, headcount, solvency and liquidity ratios, a 0–100 health score with its rule-by-rule breakdown, red flags, and peer percentiles within the same CAEN activity and county. Verdict: 'growing', 'stable'
Register a company (by CUI) to monitor. Stores a fingerprint of its current registry record as the baseline; poll_watchlist then reports changes between monthly ONRC snapshots - a new director, a new CAEN activity, an address or status change - and when ANAF declares it fiscally inactive or its VAT
Watch a CAEN activity code, optionally scoped to one county, for newly registered firms. A registration-date cutoff is the baseline: only firms registered after it are reported, and poll_watchlist slides the cutoff forward so each new firm surfaces once. A retired CAEN Rev.2 code (6201) also watches
Collect everything the watch tools have found: call it to drain the changeset for every watch owned by your API key, most severe first. Company watches return an 'updated' entry with the changed fields and risk; CAEN and county watches return the 'new' firms registered since the last poll (200 a pol
Stop watching a company (cui) or a CAEN activity code (code, plus the county it was watched in, if any), on your API key: the watch and its baseline are removed. Unwatching something you do not watch changes nothing (removed: 0). poll_watchlist lists your active watches.
Show your own allowance: plan, daily limit, lookups used today, how many remain, when it resets (00:00 UTC) and any credit balance. Free and never counted as a lookup. Limits: 30 anonymous MCP calls a day, 50 with a free API key from https://leadgen.adrianhomelab.com/start (an email address, no paym
Report to the person who runs Leadgen what is missing or wrong: a missing field, firm or source (kind 'gap'), a wrong company record ('wrong_record', pass its cui), a bug, an idea. Free, never counted as a lookup. contact is optional (an address for a reply); nothing is mailed to it automatically. R
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Leadgen ONRC Romania need an API key?
No required environment variable is listed on this record.
What transport does Leadgen ONRC Romania use?
Leadgen ONRC Romania is reached over HTTP.
When was Leadgen ONRC Romania last checked?
Last checked 2026-10-22. Romanian company data for agents: 4.2M ONRC firms, ANAF status, financials 2008–2025. Free key.