mnymann avatar

Nordic Data

mnymann/nordic-data-mcp

Plug your AI assistant directly into official business registries across 15 EU countries. You get seven tools: company lookups against CVR, Brønnøysund, Companies House and others, VAT validation via VIES, bulk sanctions screening against UN/EU/OFAC lists, full KYB reports with financials and risk scores, address autocomplete from DAWA and Kartverket, LEI resolution through GLEIF, and enriched company data with Wikidata. Requires an API key from addonnordic.com. Free tier covers most countries, though NL and DE need a paid plan. Works locally via stdio or remotely as a custom connector in ChatGPT Pro and Claude.ai.

GitHub stars
1
tools
11
auth
Secret needed
transport
STDIO, HTTP
env vars
3
last updated
Sep 15, 2026

Install

From registry metadata
$ npx add-mcp https://nordic-data-mcp-production.up.railway.app/mcp/auth --name nordic-data --header 'Authorization: Bearer ${API_TOKEN}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http nordic-data https://nordic-data-mcp-production.up.railway.app/mcp/auth --header 'Authorization: YOUR_AUTHORIZATION'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 11 tools

Verified live against the running server on Nov 6, 2026.

lookup_companyCall before onboarding a supplier or customer to confirm the legal entity exists and is active. Look up basic company data (name, address, status, industry, VAT registration, founding date) from official European business registries. Supports 15 countries: DK (CVR), NO (Brønnø...2 params

Call before onboarding a supplier or customer to confirm the legal entity exists and is active. Look up basic company data (name, address, status, industry, VAT registration, founding date) from official European business registries. Supports 15 countries: DK (CVR), NO (Brønnø...

Parameters* required
country*string
ISO 3166-1 alpha-2 country code, lowercase. One of: dk, no, se, fi, ie, uk, fr, de, cz, pl, lv, ee, nl, be, lu.one of dk · no · se · fi · ie · uk
id*string
National company identifier. DK=CVR (8 digits), NO=orgnr (9), SE=orgnr (10), FI=Y-tunnus (NNNNNNN-D), IE=CRO (1-7), UK=8 chars, FR=SIREN (9), DE=HRB number, CZ=IČO (8), PL=NIP (10) or KRS (10), LV=...
validate_vatCall before issuing an invoice, processing a cross-border payment, or storing a counterparty's VAT number. Validate a VAT registration number for any of the 27 EU member states against the official EU VIES service (DK is checked against the national CVR register). Returns vali...2 params

Call before issuing an invoice, processing a cross-border payment, or storing a counterparty's VAT number. Validate a VAT registration number for any of the 27 EU member states against the official EU VIES service (DK is checked against the national CVR register). Returns vali...

Parameters* required
country*string
VIES country code, UPPERCASE. Supports the 27 EU member states. Use EL for Greece (not GR). The United Kingdom (GB) and Norway (NO) are not supported.one of AT · BE · BG · CY · CZ · DE
vat_number*string
VAT number WITHOUT country prefix — just the digits/characters. Example: for DK29403473, pass '29403473'.
screen_sanctionsScreen one or more person or company names against the UN, EU, UK (FCDO UK Sanctions List) and US OFAC sanctions lists plus PEPs (745K+ entries, UN direct and the rest via OpenSanctions). Typical use: counterparty checks before onboarding or processing a payment. Returns per-n...5 params

Screen one or more person or company names against the UN, EU, UK (FCDO UK Sanctions List) and US OFAC sanctions lists plus PEPs (745K+ entries, UN direct and the rest via OpenSanctions). Typical use: counterparty checks before onboarding or processing a payment. Returns per-n...

Parameters* required
birth_yearvalue
Default birth year for all names that do not set their own. Only meaningful when screening one person.
entity_typevalue
Default entity type for all names that do not set their own: 'company', 'person' or 'auto' (default). Set 'company' when screening a company name — a hit on a listed individual is then never 'confi...
fuzzyboolean
Enable fuzzy matching. Default true.default: true
min_scorenumber
Minimum fuzzy score for a candidate to be returned, 0-1. Default 0.85. Lower values return more low-confidence candidates; only candidates ≥ 0.95 can ever be classified as a match.
names*array
Names to screen, max 1000 per call. Each item is a plain name, or { name, entity_type, birth_year } to say per name whether it is a company or a person (e.g. a company plus its key persons in one c...
kyb_fullRun before a consequential decision — onboarding a counterparty, approving a payment, extending credit, or signing a contract. Full Know-Your-Business master report for a company across 15 EU countries (DK, NO, SE, FI, IE, UK, FR, DE, CZ, PL, LV, EE, NL, BE, LU). Aggregates 9...2 params

Run before a consequential decision — onboarding a counterparty, approving a payment, extending credit, or signing a contract. Full Know-Your-Business master report for a company across 15 EU countries (DK, NO, SE, FI, IE, UK, FR, DE, CZ, PL, LV, EE, NL, BE, LU). Aggregates 9...

Parameters* required
country*string
ISO 3166-1 alpha-2 country code, lowercase.one of dk · no · se · fi · ie · uk
id*string
National company identifier — same format as lookup_company (e.g. DK CVR 8 digits, NO orgnr 9 digits).
autocomplete_addressAddress autocomplete with coordinates. Sources: DAWA (DK, official address register), Kartverket/Geonorge (NO, official), BAN (FR, official Base Adresse Nationale), and OpenStreetMap Nominatim (SE, FI). Returns ranked address suggestions with lat/lng and a match confidence. Su...2 params

Address autocomplete with coordinates. Sources: DAWA (DK, official address register), Kartverket/Geonorge (NO, official), BAN (FR, official Base Adresse Nationale), and OpenStreetMap Nominatim (SE, FI). Returns ranked address suggestions with lat/lng and a match confidence. Su...

Parameters* required
country*string
ISO 3166-1 alpha-2 country code, lowercase. Only dk, no, se, fi and fr are supported.one of dk · no · se · fi · fr
query*string
Partial address — street name, postcode, city, or any combination. Min 2 characters.
lookup_leiLook up a Legal Entity Identifier (LEI) via GLEIF — the global standard for entity identification. Returns legal name, registered address, status, parent + ultimate parent relationships, and child entities (subsidiaries). Also supports reverse lookup from a national company nu...5 params

Look up a Legal Entity Identifier (LEI) via GLEIF — the global standard for entity identification. Returns legal name, registered address, status, parent + ultimate parent relationships, and child entities (subsidiaries). Also supports reverse lookup from a national company nu...

Parameters* required
countrystring
ISO 3166-1 alpha-2 country code, lowercase. Required when mode='reverse'.one of dk · no · se · fi · ie · uk
idstring
National company ID. Required when mode='reverse'.
include_relationshipsboolean
If true, also fetch parent and child entities. Only applies when mode='lei'.default: false
leistring
20-character ISO 17442 Legal Entity Identifier. Required when mode='lei'.
mode*string
'lei' = look up by LEI directly. 'reverse' = look up LEI from national company number.one of lei · reverse
company_enrichedCompany registry data plus national industry statistics in one call. Returns `company` (same shape as lookup_company) and `industryStats` — a time series from the national statistics office for the company's industry code (currently Danmarks Statistik for DK); `industryStats.a...2 params

Company registry data plus national industry statistics in one call. Returns `company` (same shape as lookup_company) and `industryStats` — a time series from the national statistics office for the company's industry code (currently Danmarks Statistik for DK); `industryStats.a...

Parameters* required
country*string
ISO 3166-1 alpha-2 country code, lowercase. Only dk, no, se and fi are supported.one of dk · no · se · fi
id*string
National company identifier — same format as lookup_company.
fr_historyFrench company history timeline. Returns one event per change to the company's name, activity (NAF code), status (active/closed), legal form, or social-economy flag, derived from INSEE Sirene 3.11's bitemporal periodesUniteLegale array. Includes 'initial:<field>' events that s...1 params

French company history timeline. Returns one event per change to the company's name, activity (NAF code), status (active/closed), legal form, or social-economy flag, derived from INSEE Sirene 3.11's bitemporal periodesUniteLegale array. Includes 'initial:<field>' events that s...

Parameters* required
siren*string
9-digit French SIREN number. Examples: 652014051 (Carrefour), 775670417 (LVMH). No spaces or punctuation.
list_endpointsDiscovery meta-tool. Lists ALL available Nordic Data API data endpoints (HTTP method, path, short description) by reading the backend's live OpenAPI spec at runtime — far beyond the curated high-level tools. Use this to discover capabilities the dedicated tools do not cover, t...1 params

Discovery meta-tool. Lists ALL available Nordic Data API data endpoints (HTTP method, path, short description) by reading the backend's live OpenAPI spec at runtime — far beyond the curated high-level tools. Use this to discover capabilities the dedicated tools do not cover, t...

Parameters* required
searchstring
Optional case-insensitive keyword filter, matched against each endpoint's path, summary, and tags. Examples: 'sanction', 'address', 'cvr', 'history', 'vat', 'lei'. Omit to list every available data...
get_endpoint_schemaDiscovery meta-tool. Returns the full parameter and response schema for a single Nordic Data API endpoint (path + method), read from the backend's live OpenAPI spec with $refs resolved inline. Use after list_endpoints to learn exactly which parameters an endpoint takes before...2 params

Discovery meta-tool. Returns the full parameter and response schema for a single Nordic Data API endpoint (path + method), read from the backend's live OpenAPI spec with $refs resolved inline. Use after list_endpoints to learn exactly which parameters an endpoint takes before...

Parameters* required
methodstring
HTTP method for the endpoint (e.g. GET, POST). Defaults to GET. Must be a method the endpoint actually defines.default: GET
path*string
Endpoint path from list_endpoints, e.g. '/api/company/{country}/{id}'. Concrete paths like '/api/company/dk/22756214' are also accepted.
call_endpointDiscovery meta-tool. Executes a read-only HTTP request against the Nordic Data API for any data endpoint discovered via list_endpoints, and returns the response. Authenticates with the same scoped API key as the curated tools. Strictly read-only: only GET/HEAD requests are per...3 params

Discovery meta-tool. Executes a read-only HTTP request against the Nordic Data API for any data endpoint discovered via list_endpoints, and returns the response. Authenticates with the same scoped API key as the curated tools. Strictly read-only: only GET/HEAD requests are per...

Parameters* required
methodstring
HTTP method to use. Read-only methods only: GET or HEAD, plus POST solely for the allowlisted screening query endpoints (/api/sanctions/screen, /api/adverse/screen, /api/peps/nl/screen). Defaults t...default: GET
paramsobject
Parameters for the call. Values whose keys match {placeholders} in the path are substituted into the path. Remaining values become query-string params for GET/DELETE, or the JSON request body for P...
path*string
Concrete endpoint path, e.g. '/api/company/dk/22756214'. Path templates with {placeholders} are also accepted when you supply the values in `params`.

Sponsors

Configuration

NORDIC_API_KEY*secret

Your Nordic Data API key — get one at https://addonnordic.com (free tier: 100 lookups/day)

NORDIC_DEFAULT_COUNTRY

Optional ISO 3166-1 alpha-2 country code (lowercase) to assume when a tool call omits the country argument. One of: dk, no, se, fi, ie, uk, fr, de, cz, pl, lv, ee, nl, be, lu.

NORDIC_VERBOSE_ERRORS

Optional. Set to 'true' to include upstream HTTP status and request-id details in error messages. Useful for debugging.

Readme

Nordic Data MCP Server

npm version License: MIT

A Model Context Protocol server that gives AI agents (Claude, Cursor, Claude Code, ChatGPT, Copilot, etc.) direct access to official European business data across 15 European countries.

Look up companies, validate VAT numbers, run KYB reports, screen against sanctions lists, autocomplete addresses, and resolve LEI ownership — all from inside your AI assistant.

DK · NO · SE · FI · IE · UK · FR · DE · CZ · PL · LV · EE · NL · BE · LU

NL and DE require a Starter+ subscription (free-tier API keys receive HTTP 402 upgrade_required). On paid tiers, NL calls cost 5x quota units and DE calls cost 3x; all other countries cost 1x.


Quick start

1. Get an API key

Sign up at addonnordic.com and grab your NORDIC_API_KEY. Free tier available.

2. Add to Claude Desktop


View the full README on GitHub

Details

Repository
github.com/mnymann/nordic-data-mcp
Categories
Sales & Marketing, Data & Analytics
Package
nordic-data-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
3
Prompts
3
Tools verified
Nov 6, 2026

Related Sales & Marketing MCP servers

View all
1provartesting avatarProvar MCP Serverprovartesting/provardx-cliProvar MCP: AI-powered Salesforce test automation. Generate, validate, migrate, and run tests.1stars
2rswcf avatarDeepviewsrswcf/deepviews-mcpFree financial data: company analysis, DCF, comps, benchmarks, screening. No API key.1stars
3mcp-dir avatarProcfymcp-dir/procfy-mcpFinancial management on Procfy — transactions (revenue/expense/transfers), bank accounts, contacts,1stars
4nevent-dev avatarNevent MCPnevent-dev/mcp-neventTalk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.1stars
5pagelens-ai avatarPageLens AIpagelens-ai/pagelensai-mcp-serverAI website audit: security, SEO, performance, UX and accessibility checks with actionable fixes.1stars
6prodpoke avatarProdPokeprodpoke/prodpoke-mcpAI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.1stars