Skip to main content
Glama

Server Details

Romanian company data for agents: 4.2M ONRC firms, ANAF status, financials 2008–2025. Free key.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Server Listing
Leadgen MCP
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 21 tools

Disambiguation4/5

The seven lookup_* tools plus match_companies and find_company_by_domain form a large family, but each has a distinct input axis (single name/CUI, bulk CUI, activity code, director name, domain, raw financials vs. derived ratios) and descriptions explicitly cross-reference the right alternative. Minor overlap remains between lookup_business/enrich_company and between lookup_companies/match_companies, but the guidance is strong enough that misselection is unlikely.

Naming Consistency4/5

The surface is overwhelmingly consistent snake_case verb_noun (check_vat, extract_contacts, poll_watchlist, watch_caen), with a clean shared lookup_ prefix for the search family. Deviations are small: company_contracts and company_history are noun-first without a verb, and unwatch is a bare verb with no object.

Tool Count4/5

21 tools sits at the upper end, but the breadth of the domain (registry search, financials, VAT, procurement, web crawling, domain intel, watchlists, account) means nearly every tool maps to a distinct data source or workflow. It is slightly heavy rather than padded.

Completeness4/5

Coverage is strong: identity resolution (single, bulk, by activity, by director, by domain, batch matching), financials with ratios, VAT validation, procurement contracts, change history, contact enrichment, and a full watch lifecycle (watch_company, watch_caen, poll_watchlist, list_watches, unwatch). Gaps are minor — no reverse listing of a company's officers/shareholders, and geographic filtering is county-only.

Available Tools

21 tools
check_vatCheck a VAT number against EU VIESA
Read-onlyIdempotent
Inspect

Check a Romanian VAT number against the EU's VIES register in real time: is it a valid VAT number today, under which name and address, and does that name agree with the company registry. Use it before invoicing a new supplier or when a buyer asks whether the VAT number on file is still live.

Inputs: cui (required). Returns: Live VIES validity plus a registry name cross-check.

company_contractsPublic contracts won or awardedA
Read-onlyIdempotent
Inspect

Public procurement contracts from SEAP, Romania's electronic procurement system: what a company won from public authorities, or what it awarded as a contracting authority. Each contract carries the contracting authority, CPV code, contract number, date and value in RON, plus a per-year summary and the top counterparties. Source: ANAP reports published by ADR on data.gov.ro (CC-BY 4.0), loaded quarterly.

Inputs: cui (required), role, limit, since, +1 more. Returns: Public procurement contracts from SEAP: won by the firm, or awarded by it.

company_historyWhat changed in the registry for a companyA
Read-onlyIdempotent
Inspect

Whether the registry record of one company changed between consecutive official ONRC snapshots, and when: one event per snapshot in which anything on the record moved (status, name, legal form, address, registration number). It reports that the record changed, not which field — for the field detail, compare two lookups. Empty for a company that has not changed since the ledger started.

Inputs: cui (required), limit. Returns: Recorded registry changes for one company.

enrich_companyCompany profile with website contactsA
Read-onlyIdempotent
Inspect

A whole-firm profile in one call: the ONRC registry record plus the contacts discovered on that company'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 overrides the registered one; max_pages bounds the crawl; refresh=true crawls now instead of answering from the cache.

Inputs: cui (required), refresh, website, max_pages. Returns: The company's registry record plus the contacts found on its website.

extract_contactsExtract contacts from a websiteA
Read-onlyIdempotent
Inspect

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.

Inputs: website (required), max_pages. Returns: Contacts found on a website.

find_company_by_domainFind the company behind a websiteA
Read-onlyIdempotent
Inspect

Find the Romanian company 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 title or the domain name, each with a confidence (at most 0.7, never a match). One lookup.

Inputs: domain (required), fields, compact. Returns: The company behind a website domain, or why none was found.

get_usageShow my daily allowanceA
Read-onlyIdempotent
Inspect

Show your own allowance: plan, daily limit, lookups used today, how many remain, when it resets (00:00 UTC (02:00 or 03:00 in Romania)) 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 payment).

Inputs: no named parameters. Returns: Your plan, daily allowance and what is left today.

list_watchesList my watchesA
Read-onlyIdempotent
Inspect

List every company and CAEN activity your API key watches, each with what changed since the last poll_watchlist, most severe first. A peek: nothing is marked as seen (poll_watchlist does that). Free and never counted as a lookup, also with 0 left today.

Inputs: no named parameters. Returns: Every watch you hold, with what changed since the last poll (nothing marked see…

lookup_businessLook up a Romanian companyA
Read-onlyIdempotent
Inspect

Look up a Romanian company by name or CUI (tax code) in the official ONRC registry of 4.2M companies. Diacritic-insensitive ('paval' finds 'PAVAL'); a CUI matches exactly. The first call for a named Romanian company. Ranked with a score: live companies first (exact name, then words), closed ones after; county lifts. For 'companies that do X in Y', use lookup_by_category (an empty result may carry a hint naming it).

Inputs: query (required), county, fields, compact, +1 more. Returns: Ranked companies for a name, or the company with that CUI.

lookup_by_categoryFind companies by activityA
Read-onlyIdempotent
Inspect

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; filter by revenue, headcount, VAT, main activity, registration date (registered_since/registered_until). active_only (default) drops dead and ANAF-inactive companies.

Inputs: topic (required), sort, county, fields, +13 more. Returns: A lead list: companies in an activity, newest registration first (or by turnove…

lookup_companiesLook up many companies by CUIA
Read-onlyIdempotent
Inspect

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 compact trims each record.

Inputs: cuis (required), fields, compact. Returns: One result per input CUI, in input order.

lookup_directorFind companies by directorA
Read-onlyIdempotent
Inspect

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 this when you know a person rather than a company.

Inputs: name (required), fields, prefix, compact, +1 more. Returns: Companies where a person with this name is director or representative.

lookup_domainDomain WHOIS, DNS and email auditA
Read-onlyIdempotent
Inspect

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.

Inputs: domain (required), include_dns, include_security. Returns: WHOIS, DNS records and the SPF/DMARC audit of a domain.

lookup_financial_ratiosFinancial ratios and health scoreA
Read-onlyIdempotent
Inspect

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' or 'distressed'. Use lookup_financials for the raw figures.

Inputs: cui (required). Returns: Financial ratios, a health score, peer percentiles and a verdict.

lookup_financialsAnnual financial statementsA
Read-onlyIdempotent
Inspect

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). Resolve the company with lookup_business first if you only have a name.

Inputs: cui (required). Returns: Every annual filing on record for the company, newest first (RON).

match_companiesMatch a list of records to companiesA
Read-onlyIdempotent
Inspect

Match a list of up to 500 records (name, optional county, domain or CUI) to Romanian companies: 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 back not_processed (partial: true, remaining: rows to resend after the reset).

Inputs: rows (required), fields, compact. Returns: One match per input record, in input order.

poll_watchlistCollect watchlist changesAInspect

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' companies registered since the last poll (200 a poll, the rest next).

Inputs: no named parameters. Returns: What changed for your watches since the last poll, most severe first.

report_issueReport missing or wrong dataAInspect

Report to the person who runs Leadgen what is missing or wrong: a missing field, company 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. Registry records are corrected at the source (ONRC) and arrive with the next snapshot.

Inputs: message (required), cui, kind, contact. Returns: The receipt for the report.

unwatchStop watching a company or activityA
DestructiveIdempotent
Inspect

Stop tracking a company (CUI) or a CAEN code (including its county); the tracking and its reference status will be deleted; free of charge. Pass cui, or code (plus the county it was watched in, if any), on your API key. Unwatching something you do not watch changes nothing (removed: 0). list_watches lists your watches. Not counted as a lookup.

Inputs: cui, code, county. Returns: The watch removed (or not held), and the watches you still hold.

watch_caenWatch an activity for new companiesA
Idempotent
Inspect

Watch a CAEN activity code, optionally scoped to one county, for newly registered companies. A registration-date cutoff is the baseline: only companies registered after it are reported, and poll_watchlist slides the cutoff forward so each new company surfaces once. A retired CAEN Rev.2 code (6201) also watches its Rev.3 successor (6210), with a warning.

Inputs: code (required), county. Returns: The watch registered (or already held) for the activity code.

watch_companyWatch a company for changesA
Idempotent
Inspect

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 status flips.

Inputs: cui (required). Returns: The watch registered (or already held) for the company.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Romanian public data with no API keys: ANAF company status by CUI (VAT, fiscally inactive, deregistered), filed financial statements, Portal Just court cases and BNR exchange rates. Includes shop_check, which flags whether an online shop looks like a scam.
      6
      28 PyPI
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Provides keyless access to Romanian public economic and cultural data, including exchange rates, company/VAT lookups, open datasets, official statistics, seismic-risk building records, and classified cultural heritage.
      12
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      French company data for AI agents: directors with probable business email, people search, counterparty checks (KYB) and hiring signals from official registries. Paid per call with x402 (USDC on Base or Solana), charged only when found.
      129 npm
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources