Thai Legal
Thai legal search MCP — statutes, gazette, opinions, court cases. Pro: court-jurisdiction rulings.
Description from the maker (original English)
Company, KYB, VAT, sanctions, LEI and address data for 15 EU countries.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
NORDIC_API_KEY, NORDIC_DEFAULT_COUNTRY, NORDIC_VERBOSE_ERRORS, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"nordic-data": {
"command": "npx",
"args": [
"-y",
"nordic-data-mcp"
],
"env": {
"NORDIC_API_KEY": "your-value",
"NORDIC_DEFAULT_COUNTRY": "your-value",
"NORDIC_VERBOSE_ERRORS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http nordic-data https://nordic-data-mcp-production.up.railway.app/mcp/auth --header 'Authorization: your-value'claude mcp add nordic-data --env NORDIC_API_KEY=your-value --env NORDIC_DEFAULT_COUNTRY=your-value --env NORDIC_VERBOSE_ERRORS=your-value -- npx -y nordic-data-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nordic-data": {
"url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nordic-data": {
"command": "npx",
"args": [
"-y",
"nordic-data-mcp"
],
"env": {
"NORDIC_API_KEY": "your-value",
"NORDIC_DEFAULT_COUNTRY": "your-value",
"NORDIC_VERBOSE_ERRORS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"nordic-data": {
"type": "http",
"url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"nordic-data": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"nordic-data-mcp"
],
"env": {
"NORDIC_API_KEY": "your-value",
"NORDIC_DEFAULT_COUNTRY": "your-value",
"NORDIC_VERBOSE_ERRORS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
NORDIC_DEFAULT_COUNTRY envNORDIC_VERBOSE_ERRORS envAuthorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 9, 2026. The maker wrote them, not us; we show them as plain text.
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øysu
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 validit
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-name
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 sec
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. Suppo
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 numbe
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.avai
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: ' events that show the s
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, then
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 cal
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 permit
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account Mnymann, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 121 ms (HTTP 200)
No sign-in needed
Read 11 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: NORDIC_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.5.6) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Thai Legal, Slovenia Company Check, Lithuania Company Check
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Thai legal search MCP — statutes, gazette, opinions, court cases. Pro: court-jurisdiction rulings.
Slovenia company checks: status, bankruptcy flag from the name, VAT revocation, LEI and sanctions.
Lithuania company checks: status, insolvency, LEI and sanctions from official registers.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
Sign up at addonnordic.com and grab your NORDIC_API_KEY. Free tier available.
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.
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" } } } }
claude mcp add nordic-data --env NORDIC_API_KEY=YOUR_KEY_HERE -- npx -y nordic-data-mcp
ChatGPT supports remote MCP servers as custom connectors. No API key needed from you — the hosted server handles upstream authentication.
https://nordic-data-mcp-production.up.railway.app/mcpCustom connectors require a ChatGPT Pro, Business, Team, or Enterprise plan.
Same hosted endpoint, no local install:
https://nordic-data-mcp-production.up.railway.app/mcp| 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 for the 27 EU member states against VIES |
screen_sanctions | Bulk screen up to 1000 names against UN/EU/UK/OFAC/PEP lists (UK = FCDO UK Sanctions List; 745K+ entries) |
kyb_full | Master Know-Your-Business report — identity, persons, financials, LEI, VAT, sanctions, adverse media, risk score |
autocomplete_address | Address autocomplete with coordinates for DK (DAWA), NO (Kartverket), FR (BAN), SE and FI (OpenStreetMap Nominatim) |
lookup_lei | GLEIF Legal Entity Identifier lookup — forward, reverse, and parent/children relationships |
company_enriched | Company registry data + national industry statistics in one call (DK, NO, SE, FI) |
fr_history | French company history timeline (name, activity, status, legal-form changes) from INSEE Sirene bitemporal data |
list_endpoints | Discovery: list all read-only data endpoints in the underlying API (230+), with optional keyword filter |
get_endpoint_schema | Discovery: full parameter + response schema for one endpoint, before calling it |
call_endpoint | Discovery: execute a read-only request (GET/HEAD, plus three allowlisted POST screening queries) against any discovered endpoint |
"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?"
→ calls
validate_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 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 |
| NL | KvK-nummer | 8 digits |
| BE | BCE/KBO | 10 digits |
| LU | RCSL | B + digits |
The table above applies to lookup_company, kyb_full and lookup_lei (reverse mode). company_enriched covers DK, NO, SE and FI; autocomplete_address covers DK, NO, SE, FI and FR.
For validate_vat, country codes are uppercase VIES codes for the 27 EU member states — use EL (not GR) for Greece. The United Kingdom and Norway are not supported.
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.
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 — public MCP endpoint. No key required; all upstream calls are billed to the server's own NORDIC_API_KEY (freemium / discovery). Per-IP rate-limited.ALL /mcp/auth — authenticated MCP endpoint. Requires Authorization: Bearer ndk_... on every request; each call is billed to that customer's own key + quota.Both are session-based via the Mcp-Session-Id header.
This server uses static API-key authentication, not OAuth. How you connect depends on your client:
…/mcp/auth and supply your key as Authorization: Bearer ndk_.... Each request is billed to your own tenant + quota.…/mcp (no key). Otherwise such clients attempt OAuth Dynamic Client Registration (POST /register) and fail — this server has no OAuth endpoints by design and answers them with a clear JSON oauth_not_supported error (not a sign-in flow).npx -y nordic-data-mcp with NORDIC_API_KEY set (see Quick start above).Full OAuth 2.1 (so arbitrary external clients can self-onboard with their own key) is a planned Phase-2 item, not yet implemented.
A railway.toml is included for one-click deploy on Railway:
Mnymann/nordic-data-mcpnordic-data-mcpNORDIC_API_KEYNORDIC_API_KEY./mcp endpoint as defense-in-depth (tunable via PUBLIC_RATE_LIMIT / PUBLIC_RATE_WINDOW_MS). Caching is handled upstream.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.
Nordic Data returns informational decision-support aggregated from official and public sources. It is not legal, compliance, financial, or professional advice, and not a definitive determination. KYB reports, sanctions/PEP matches, adverse-media hits, and risk scores are signals to review, not verdicts — verify independently and apply your own professional judgment before acting. Use of the service is subject to the AddonNordic Terms.
MIT © AddonNordic ApS