nordic-data-mcp
Enables AI assistants to access official European business data across 15 EU countries, including company lookups, VAT validation, sanctions screening, and KYB reports.
README
Nordic Data MCP Server
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 EU 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 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
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"nordic-data": {
"command": "npx",
"args": ["-y", "nordic-data-mcp"],
"env": {
"NORDIC_API_KEY": "YOUR_KEY_HERE"
}
}
}
}
Restart Claude Desktop. You should see "nordic-data" appear in the tools menu.
3. Add to Cursor
In Cursor settings → MCP → Add new server, or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"nordic-data": {
"command": "npx",
"args": ["-y", "nordic-data-mcp"],
"env": {
"NORDIC_API_KEY": "YOUR_KEY_HERE"
}
}
}
}
4. Add to Claude Code
claude mcp add nordic-data --env NORDIC_API_KEY=YOUR_KEY_HERE -- npx -y nordic-data-mcp
5. Add to ChatGPT (Pro, Business, or Enterprise)
ChatGPT supports remote MCP servers as custom connectors. No API key needed from you — the hosted server handles upstream authentication.
- ChatGPT → Settings → Connectors → Add custom connector
- URL:
https://nordic-data-mcp-production.up.railway.app/mcp - Done — all 7 tools are available immediately.
Custom connectors require a ChatGPT Pro, Business, Team, or Enterprise plan.
6. Add to Claude.ai (web)
Same hosted endpoint, no local install:
- Claude.ai → Settings → Connectors → Add custom connector
- URL:
https://nordic-data-mcp-production.up.railway.app/mcp - Done.
Available tools
| Tool | What it does |
|---|---|
lookup_company |
Basic company data from official registries (CVR, Brønnøysund, Bolagsverket, Companies House, INSEE, etc.) |
validate_vat |
Validate a VAT number against VIES (EU) or HMRC (GB) |
screen_sanctions |
Bulk screen up to 1000 names against UN/EU/OFAC/PEP lists (OpenSanctions, 768K+ entries) |
kyb_full |
Master Know-Your-Business report — identity, persons, financials, LEI, VAT, sanctions, adverse media, risk score |
autocomplete_address |
Address autocomplete via DAWA (DK), Kartverket (NO), BAN (FR), MML (FI), Nominatim (others) |
lookup_lei |
GLEIF Legal Entity Identifier lookup — forward, reverse, and parent/children relationships |
company_enriched |
Company data + geocoded address + industry stats + Wikidata (website, employees, CEO, ticker, logo) |
Example agent prompts
"Look up CVR 61056416 in Denmark" → calls
lookup_company { country: "dk", id: "61056416" }→ Carlsberg A/S
"Run a full KYB report on Equinor (NO 923609016)" → calls
kyb_full { country: "no", id: "923609016" }
"Is
LU26375245a valid VAT number?" → callsvalidate_vat { country: "LU", vat_number: "26375245" }
"Screen these names against sanctions: Vladimir Putin, Acme Corp, John Smith" → calls
screen_sanctions { names: [...] }
"Find the LEI for Tesco UK (00445790) and include parent and subsidiaries" → calls
lookup_lei { mode: "reverse", country: "uk", id: "00445790" }
Country / ID format reference
| Country | ID type | Format |
|---|---|---|
| DK | CVR | 8 digits |
| NO | Organisasjonsnummer | 9 digits |
| SE | Organisationsnummer | 10 digits (with or without dash) |
| FI | Y-tunnus | NNNNNNN-D (7 digits + check digit) |
| IE | CRO number | 1–7 digits |
| UK | Companies House | 8 chars (digits, or prefix like SC, NI, OC) |
| FR | SIREN | 9 digits |
| DE | LEI or HRB | LEI = 20 alphanum; HRB = prefix + digits |
| CZ | IČO | 8 digits |
| PL | NIP / REGON / KRS | NIP=10, REGON=9/14, KRS=10 |
| LV | Reģistrācijas nr. | 11 digits |
| EE | Registrikood | 8 digits |
For validate_vat, country codes are uppercase and cover the broader EU plus GB (use GB, not UK — HMRC requires GB).
Configuration
The only environment variable you need to set is:
| Variable | Required | Description |
|---|---|---|
NORDIC_API_KEY |
yes | Your API key from addonnordic.com |
That's it. The MCP server connects to the hosted Nordic Data API for you.
Self-hosting (remote HTTP transport)
For remote MCP hosting (e.g. Anthropic Connectors, Smithery, web-based clients), deploy the bundled Streamable HTTP transport:
npm install
npm run build
NORDIC_API_KEY=sk_... npm run start:http # listens on :$PORT (default 3000)
Endpoints:
GET /healthz— health check (returns version + status)ALL /mcp— MCP Streamable HTTP endpoint (session-based viaMcp-Session-Idheader)
A railway.toml is included for one-click deploy on Railway:
- New Project → Deploy from GitHub repo → select
Mnymann/nordic-data-mcp - Set Root Directory to
nordic-data-mcp - Add env var
NORDIC_API_KEY - Railway auto-detects the config, builds, and exposes a public HTTPS URL
Design notes
- Thin adapter. No business logic, no caching, no transformations. Each tool maps 1:1 to a Nordic Data API endpoint.
- No PII in logs. Request and response bodies are never logged.
- API key required. The process refuses to start without
NORDIC_API_KEY. - Rate limiting and caching are handled upstream.
- Inputs are validated with zod before any HTTP call.
Contributing
Issues and PRs welcome at github.com/Mnymann/nordic-data-mcp.
Please do not include API keys, request bodies, or response payloads in bug reports.
License
MIT © AddonNordic ApS
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.