io.github.Mnymann/nordic-data
REMOTE · NORDIC-DATA-MCP-PRODUCTION.UP.RAILWAY.APP · 2 COMPONENTS · SCANNED SEP 20
Company, KYB, VAT, sanctions, LEI and address data for 15 EU countries.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3428 tokens (~244/item across 14 items; 11 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (64% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.Mnymann/nordic-data MCP server?
io.github.Mnymann/nordic-data is a hosted endpoint at https://nordic-data-mcp-production.up.railway.app/mcp/auth, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · nordic-data-mcp-production.up.railway.app
claude mcp add --transport http mnymann-nordic-data 'https://nordic-data-mcp-production.up.railway.app/mcp/auth'
{
"mcpServers": {
"mnymann-nordic-data": {
"url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth"
}
}
} {
"servers": {
"mnymann-nordic-data": {
"type": "http",
"url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth"
}
}
} [mcp_servers.mnymann-nordic-data] url = "https://nordic-data-mcp-production.up.railway.app/mcp/auth"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mnymann-nordic-data": {
"type": "remote",
"url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth",
"enabled": true
}
}
} openclaw mcp add mnymann-nordic-data --url 'https://nordic-data-mcp-production.up.railway.app/mcp/auth' --transport streamable-http
mcp_servers:
mnymann-nordic-data:
url: "https://nordic-data-mcp-production.up.railway.app/mcp/auth" {
"McpServers": {
"mnymann-nordic-data": {
"Transport": "http",
"Url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth"
}
}
} assistant mcp add mnymann-nordic-data -t streamable-http -u 'https://nordic-data-mcp-production.up.railway.app/mcp/auth'
{
"mcpServers": {
"mnymann-nordic-data": {
"type": "http",
"url": "https://nordic-data-mcp-production.up.railway.app/mcp/auth"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 15 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “autocomplete_address” rewrote its description, which is the text the model reads security
- Tool “company_enriched” rewrote its description, which is the text the model reads security
- Tool “validate_vat” rewrote its description, which is the text the model reads security
- Server version: 1.5.5 → 1.5.6 functional
- “validate_vat” reworded the description of “country” cosmetic
- “autocomplete_address” reworded the description of “country” cosmetic
- “company_enriched” reworded the description of “country” cosmetic
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
- 24 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 3 Aug 26 0
- Tool “list_endpoints” rewrote its description, which is the text the model reads security
- Tool “lookup_company” rewrote its description, which is the text the model reads security
- Tool “screen_sanctions” rewrote its description, which is the text the model reads security
- Tool “kyb_full” rewrote its description, which is the text the model reads security
- Tool “call_endpoint” rewrote its description, which is the text the model reads security
- Server version: 1.5.3 → 1.5.5 functional
- “call_endpoint” reworded the description of “method” cosmetic
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://nordic-data-mcp-production.up.railway.app/mcp/auth
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.up.railway.app | CN=YE1,O=Let's Encrypt,C=US | 29 Jul 2026 | 27 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6da79bb561da3efeb0e751ca21abd3999fe |
| SANs: *.up.railway.app, up.railway.app | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of nordic-data-mcp-production.up.railway.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| railway.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | no_resource_metadata |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://nordic-data-mcp-production.up.railway.app/mcp/auth | Verified | 200 | |
| http (plaintext) | http://nordic-data-mcp-production.up.railway.app/mcp/auth | HTTPS enforced | 301 | https://nordic-data-mcp-production.up.railway.app/mcp/auth |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
autocomplete_address ~142
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. Supports 5 countries: DK, NO, SE, FI, FR.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | ISO 3166-1 alpha-2 country code, lowercase. Only dk, no, se, fi and fr are supported. |
| query | string | yes | Partial address — street name, postcode, city, or any combination. Min 2 characters. |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array|null | – | Ranked address candidates, best match first. |
No examples provided.
call_endpoint ~309
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 permitted, plus POST to three allowlisted screening endpoints (/api/sanctions/screen, /api/adverse/screen, /api/peps/nl/screen) that are pure queries using POST only to carry a large request body. All state-changing operations (watch lists, webhooks, DELETE/PUT/PATCH) and all /admin endpoints are refused. Use list_endpoints and get_endpoint_schema first to find the correct path, method, and parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | 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 to… |
| params | object | – | 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 POS… |
| path | string | yes | Concrete endpoint path, e.g. '/api/company/dk/22756214'. Path templates with {placeholders} are also accepted when you supply the values in `params`. |
No output schema declared.
No examples provided.
company_enriched ~153
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.available` is false when no statistics exist. Supports 4 countries: DK, NO, SE, FI. For other countries use lookup_company (basic registry data) or kyb_full (full due-diligence report).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | ISO 3166-1 alpha-2 country code, lowercase. Only dk, no, se and fi are supported. |
| id | string | yes | National company identifier — same format as lookup_company. |
| Name | Type | Req | Description |
|---|---|---|---|
| company | object|null | – | Registry data — same shape as lookup_company output. |
| industryStats | object|null | – | National industry statistics (DST for DK, SSB for NO, etc.). |
No examples provided.
fr_history ~223
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 show the state at company creation (date, name, NAF code, etc.). Input: 9-digit SIREN number. Cost: 1 quota unit; free tier supported (France is not tier-gated, unlike NL and DE). Cache: 24h server-side. Errors: 400 invalid_id_format (not 9 digits), 403 non_diffusible (SIREN exists but is privacy-protected under art. R123-232-1), 404 not_found, 503 upstream_unavailable.
| Name | Type | Req | Description |
|---|---|---|---|
| siren | string | yes | 9-digit French SIREN number. Examples: 652014051 (Carrefour), 775670417 (LVMH). No spaces or punctuation. |
| Name | Type | Req | Description |
|---|---|---|---|
| categorieEntreprise | string|null | – | INSEE company size category: PME, ETI, GE. |
| count | integer|null | – | Number of history events derived. |
| dateCreation | string|null | – | ISO-8601 date the legal entity was created. |
| events | array|null | – | Chronologically ordered events. Each event has 'initial:<field>' type for the baseline period or a plain field name for subsequent changes. |
| fetchedAt | string|null | – | ISO-8601 timestamp when the data was fetched upstream. |
| periodCount | integer|null | – | Number of bitemporal periods returned by INSEE. |
| sigle | string|null | – | Acronym / short name, if any. |
| siren | string|null | – | 9-digit SIREN echoed back. |
| source | string|null | – | Upstream data source — 'api.insee.fr'. |
| sourceNote | string|null | – | Provenance note describing the upstream API and field set used. |
No examples provided.
get_endpoint_schema ~145
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 calling it with call_endpoint. Admin endpoints are rejected.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | HTTP method for the endpoint (e.g. GET, POST). Defaults to GET. Must be a method the endpoint actually defines. |
| path | string | yes | Endpoint path from list_endpoints, e.g. '/api/company/{country}/{id}'. Concrete paths like '/api/company/dk/22756214' are also accepted. |
No output schema declared.
No examples provided.
kyb_full ~376
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 sections: identity, registered address (geocoded), key persons & directors, financial statements, official filings, LEI + corporate ownership, VAT registration, sanctions + PEP screening, adverse media (GDELT 2.0), and a composite risk score. Single call. Cold cache typically completes in 10-15s; warm cache returns in <100ms. Cached 6h on success, 60s when partial. Partial responses: if any of the 9 sections time out, the report still returns with 'truncated: true' and 'sectionsUnavailable: [{section, reason}]' — caller can retry in 60s for a complete report. Tier note: NL and DE use paid upstream registries — free-tier API keys receive HTTP 402 'upgrade_required'; do NOT retry on 402. On paid tiers, NL costs 5x quota and DE costs 3x. Disclaimer: this report is informational decision-support aggregated from official and public sources — NOT legal, compliance, or financial advice and not a definitive determination. The risk score and findings indicate areas to verify, not verdicts; the response includes a 'disclaimer' field stating this.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | ISO 3166-1 alpha-2 country code, lowercase. |
| id | string | yes | National company identifier — same format as lookup_company (e.g. DK CVR 8 digits, NO orgnr 9 digits). |
No output schema declared.
No examples provided.
list_endpoints ~175
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, then call get_endpoint_schema for parameter details and call_endpoint to execute one. Only read-only operations are listed (GET/HEAD plus the POST screening queries); admin and state-changing endpoints are never returned. Supports an optional `search` keyword filter. The catalog has 230+ endpoints.
| Name | Type | Req | Description |
|---|---|---|---|
| search | string | – | 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 e… |
No output schema declared.
No examples provided.
lookup_company ~411
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øysund), SE (Bolagsverket), FI (YTJ/PRH), IE (CRO), UK (Companies House), FR (INSEE Sirene), DE (Handelsregister), CZ (ARES), PL (KAS+KRS), LV (Uzņēmumu reģistrs), EE (Ariregister), NL (KvK), BE (KBO), LU (RCSL). Tier note: NL and DE use paid upstream registries (KvK and Handelsregister). Free-tier API keys will receive HTTP 402 with error 'upgrade_required' — do NOT retry on 402; the error message includes an upgrade URL. On paid tiers, NL calls cost 5x quota units and DE calls cost 3x; all other countries cost 1x.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | 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. |
| id | string | yes | 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=11… |
| Name | Type | Req | Description |
|---|---|---|---|
| address | object|string|null | – | Registered address: an object ({street, city, zip}) or a single formatted string, depending on the registry. |
| country | string|null | – | Country code or name as returned by the source registry. |
| fetchedAt | string|null | – | ISO-8601 timestamp when the data was fetched upstream. |
| founded | string|null | – | ISO-8601 founding date, if known. |
| id | string|null | – | National company identifier. |
| industry | object|null | – | Industry classification ({code, description}; NACE or national code). |
| legalForm | object|string|null | – | Legal form: an object ({code, description}) or a string, depending on the registry. |
| name | string|null | – | Registered legal name. |
| source | string|null | – | Upstream registry name (CVR, Brønnøysund, etc.). |
| status | string|null | – | Registry status, e.g. active, dissolved, bankrupt. |
| vatRegistered | boolean|null | – | Whether the company is VAT-registered, where the registry reports it. |
No examples provided.
lookup_lei ~256
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 number to LEI across 15 countries (DK, NO, SE, FI, IE, UK, FR, DE, CZ, PL, LV, EE, NL, BE, LU). Tier note (reverse mode only): NL and DE use paid upstream registries — free-tier API keys receive HTTP 402 'upgrade_required'; do NOT retry on 402.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | ISO 3166-1 alpha-2 country code, lowercase. Required when mode='reverse'. |
| id | string | – | National company ID. Required when mode='reverse'. |
| include_relationships | boolean | – | If true, also fetch parent and child entities. Only applies when mode='lei'. |
| lei | string | – | 20-character ISO 17442 Legal Entity Identifier. Required when mode='lei'. |
| mode | string | yes | 'lei' = look up by LEI directly. 'reverse' = look up LEI from national company number. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer|null | – | mode='reverse': number of LEI records found. |
| fetchedAt | string|null | – | – |
| found | boolean|null | – | mode='reverse': whether any LEI exists for the national ID. |
| jurisdiction | string|null | – | – |
| legalAddress | object|null | – | – |
| legalForm | string|null | – | ISO 20275 entity legal form code. |
| legalName | string|null | – | Registered legal name (mode='lei'). |
| lei | string|null | – | 20-character ISO 17442 identifier (mode='lei'). |
| records | array|null | – | mode='reverse': matching LEI records (same shape as a mode='lei' result). |
| registeredAs | string|null | – | National registry identifier. |
| registration | object|null | – | GLEIF registration metadata (initial, lastUpdate, status ISSUED/LAPSED/..., nextRenewal). |
| relationships | object|null | – | Only present when include_relationships=true. |
| source | string|null | – | – |
| status | string|null | – | Entity status, e.g. ACTIVE / INACTIVE. |
No examples provided.
screen_sanctions ~177
Screen one or more person or company names against UN, EU, OFAC and PEP sanctions lists (768K+ entries via OpenSanctions). Typical use: counterparty checks before onboarding or processing a payment. Returns per-name match lists with fuzzy match scores, source-list attribution and risk topics, plus a 'disclaimer' field. Matches are informational decision-support from public sources, not legal or compliance advice — a match indicates a potential hit that requires verification, not a confirmed listing.
| Name | Type | Req | Description |
|---|---|---|---|
| fuzzy | boolean | – | Enable fuzzy matching. Default true. |
| min_score | number | – | Minimum fuzzy match score, 0-1. Default 0.7. Lower values return more (lower-confidence) matches. |
| names | array | yes | Array of person or company names to screen. Max 1000 names per call. |
| Name | Type | Req | Description |
|---|---|---|---|
| disclaimer | string|null | – | – |
| indexUpdated | object|null | – | ISO-8601 last refresh per source list. |
| matched | integer|null | – | Number of names with matched=true. |
| results | array|null | – | One entry per input name, in submission order. |
| sourcesUnavailable | array|null | – | Lists that could not be checked on this call; non-empty means the screening is incomplete. |
| total | integer|null | – | Number of names screened. |
No examples provided.
validate_vat ~224
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 validity status and, where the member state discloses them, registered name and address. Use EL for Greece. Not supported: United Kingdom (GB) and Norway (NO) — for a Norwegian company, lookup_company with country 'no' reports `vatRegistered` from Brønnøysund. HTTP 503 upstream_unavailable means that member state's VIES node is temporarily down; retry later.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | 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. |
| vat_number | string | yes | VAT number WITHOUT country prefix — just the digits/characters. Example: for DK29403473, pass '29403473'. |
| Name | Type | Req | Description |
|---|---|---|---|
| address | string|null | – | Registered address. null when not disclosed by the member state. |
| countryCode | string|null | – | Country code (uppercase). |
| name | string|null | – | Registered company name. null when the member state does not disclose trader details via VIES (e.g. DE, ES) — the number can still be valid. |
| source | string|null | – | Validation source, e.g. 'VIES' or 'CVR' (DK). |
| valid | boolean|null | – | True if the source confirms the number is registered and active. |
| vatNumber | string|null | – | Full VAT number including country prefix, e.g. DE143454214. |
No examples provided.
What is the io.github.Mnymann/nordic-data MCP server?
io.github.Mnymann/nordic-data is an MCP server listed in the public MCP registry as io.github.Mnymann/nordic-data. Company, KYB, VAT, sanctions, LEI and address data for 15 EU countries. This page covers its hosted endpoint (https://nordic-data-mcp-production.up.railway.app/mcp/auth).
Is the io.github.Mnymann/nordic-data MCP server safe to use?
io.github.Mnymann/nordic-data scores 89 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.Mnymann/nordic-data MCP server expose?
io.github.Mnymann/nordic-data exposes 11 tools: lookup_company, validate_vat, screen_sanctions, kyb_full, autocomplete_address, and 6 more. Their descriptions and schemas cost roughly 2,591 tokens of context every time the server is loaded.
Does the io.github.Mnymann/nordic-data MCP server require authentication?
Yes. io.github.Mnymann/nordic-data asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the io.github.Mnymann/nordic-data MCP server still maintained?
io.github.Mnymann/nordic-data is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.