mcpField
E
eu-registry

eu-registry

Remote
cz-agents.devBusiness & Marketing6Updated 2w ago

About eu-registry

eu-registry is an MCP server for cross-border company lookups across supported EU and EEA registries. It combines national registry data with GLEIF/LEI and VIES sources, with data depth varying by country.

Key features

  1. 01Company search by name or national ID
  2. 02Registry details and entity status
  3. 03Parent-company resolution
  4. 04EU VAT validation
  5. 05Country-specific data coverage

Use cases

  1. 01Checking a company in another EU country
  2. 02Validating an EU VAT number
  3. 03Finding a parent company across borders

MCP support

Exposes company search, company lookup, and VAT validation tools to MCP clients. It can be used as a stdio server or through its hosted MCP endpoint.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://eu-registry.cz-agents.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npm@czagents/eu-registry0.8.0

Tools

3
ParameterTypeRequiredDescription
namestringYesCompany name or partial company name.
limitintegerNoMax results per search, default 10, max 20.
countrystringNoISO alpha-2 code or supported country name, e.g. "GB", "UK", or "United Kingdom".

Details

From the project README

@czagents/eu-registry

European business registry lookups in one MCP — verify companies across 16 EU/EEA countries via official national registries and GLEIF/LEI + VIES. Full national data for 9 countries; partial Lithuania JAR data; identity + ownership baseline for 6 other countries. Entity status, registration data, addresses, parent-company resolution, and EU VAT validation. Built for cross-border due-diligence and KYC directly in your AI assistant.

Part of the cz-agents suite.

Supported registries

Full national data (entity, status, address, registration date):

CountrySourceNotes
GBCompanies HouseRequires free CH_API_KEY from developer.company-information.service.gov.uk
SKORSR / RPONo auth required
PLKRSNo auth required
FRSIRENENo auth required
NOBrønnøysund (BRREG)No auth required
DKCVR (Erhvervsstyrelsen)Optional DK_CVR_USER/DK_CVR_PASS (free, request at [email protected]); public fallback otherwise
FIPRH YTJ Open Data v3Free, no API key, CC BY 4.0
EERIK open data dumpDaily bulk ingest to local SQLite via EE_RIK_DB_PATH; no API key, CC BY 4.0
SEBolagsverket HVD APIFree OAuth credentials from Bolagsverket; exact organisation-number lookup. Name search uses GLEIF/LEI because HVD has no name-search endpoint.

Partial national-registry data: Lithuania

CountrySourceNotes
LTRegistrų centras JAR open dataMonthly local SQLite ingest via LT_JAR_DB_PATH; CC BY 4.0. Name, code and registration date are served from JAR. The official legal-status classifier label is exposed as status_label; application status remains unknown and normalized_status null. Addresses and officers are not published or enriched; JADIS and other enrichment are out of scope. VIES/GLEIF remains the fallback if the local store is unavailable or has no matching record.

Identity + ownership baseline (name, address, status, VAT validity, GLEIF/LEI parent-company resolution — no officer/board data; for registries that are paywalled):

CountrySourceNotes
DEGLEIF/LEI + VIESNo auth required
NLGLEIF/LEI + VIESNo auth required
ITGLEIF/LEI + VIESNo auth required
ATGLEIF/LEI + VIESNo auth required
ESGLEIF/LEI + VIESVIES returns validity only for ES (no name/address)
BEGLEIF/LEI + VIESNo auth required

Tools

Each example is an MCP tool-call argument object.

  • search_company — searches supported non-Czech registries by full or partial company name. Do not use it when you already have an exact national ID, or expect full national-registry data for GLEIF-only countries. Example: {"name":"Tesco","country":"GB","limit":5}.
  • get_company — fetches a supported non-Czech company by its national ID and country. Do not use it for Czech companies, or with a name instead of the country-specific identifier. Example: {"id":"14356670","country":"GB"}.
  • lookup_company_by_vat — validates an EU VAT number through VIES and returns disclosed registration details. Do not use it to obtain director/board data, or assume name/address are available for every member state. Example: {"vat":"NL123456789B01"}.

Configuration

VariableRequiredDescription
CH_API_KEYNoUK Companies House API key. Without it GB adapter returns empty results.
GLEIF_CACHE_PATHNoPath to SQLite cache file for GLEIF responses (DE/NL/IT/AT/ES/BE/LT). Falls back to in-memory if unset.
GLEIF_CACHE_TTL_DAYSNoCache TTL in days. Default: 7.
DK_CVR_USER / DK_CVR_PASSNoDenmark CVR data credentials (free, request at [email protected]). Without them the DK adapter uses its public fallback.
EE_RIK_DB_PATHNoPath to SQLite store for Estonia RIK bulk data. Default: ./ee-rik.db.
LT_JAR_DB_PATHNoPath to SQLite store for Lithuania Registrų centras JAR open data. Default: ./lt-jar.db.
SE_BOLAGSVERKET_CLIENT_ID / SE_BOLAGSVERKET_CLIENT_SECRETNoSweden Bolagsverket HVD OAuth credentials. Without them exact SE lookups return no result; name search still uses GLEIF.
PORTNoHTTP transport port. Default: 3036.

Usage

npx (stdio transport)
{
  "mcpServers": {
    "eu-registry": { "command": "npx", "args": ["-y", "@czagents/eu-registry"] }
  }
}
Hosted endpoint (no install)
{
  "mcpServers": {
    "eu-registry": { "url": "https://eu-registry.cz-agents.dev/mcp" }
  }
}

Related packages

Development

npm run build
npm test
npm run start:http

Estonia bulk ingest:

EE_RIK_DB_PATH=/absolute/path/ee-rik.db npm run build --workspace=@czagents/eu-registry
EE_RIK_DB_PATH=/absolute/path/ee-rik.db npm run ingest:ee-rik --workspace=@czagents/eu-registry

Lithuania JAR bulk ingest (run monthly):

LT_JAR_DB_PATH=/absolute/path/lt-jar.db npm run build --workspace=@czagents/eu-registry
LT_JAR_DB_PATH=/absolute/path/lt-jar.db npm run ingest:lt-jar --workspace=@czagents/eu-registry

LT results expose the upstream Last-Modified value as source_snapshot_at when available, separately expose ingested_at, and carry the CC BY 4.0 attribution. The official JAR open-data endpoint reported zero non-null values for both pilnas_adresas and adresas; the implementation therefore always returns no address and marks address not published in open data. It does not fetch JADIS, officers, or GLEIF-derived addresses.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.