Checking that the person who signed an application is actually authorised is the slow part of due diligence, and Brønnøysundregistrene exposes it openly. Know the asymmetry before planning around it: Danish search returns a single best match, so large companies with several entities need name variations; Finnish common names return 900+ results and want an exact legal name or a form filter; and the Swedish API has no name search at all, so you must already have the organisation number.
A Go binary wrapping the public APIs of Brønnøysundregistrene, CVR, PRH and Bolagsverket into 23 tools. It is read-only, stores no personal data beyond the session, and every underlying API is free.
- Norway, 12 tools: `norway_search_companies`, `norway_get_company`, `norway_get_roles` for board members, CEO and auditors, `norway_get_signature_rights` for who may sign and hold prokura, `norway_batch_get_companies` for validating a list, subunit lookups, `norway_get_updates` for recent registry changes, and municipality and organisation-form code lists
- Denmark, 5 tools: `denmark_search_companies`, `denmark_get_company`, `denmark_get_production_units`, `denmark_search_by_phone` and `denmark_get_by_pnumber`
- Finland, 2 tools: `finland_search_companies` and `finland_get_company`
- Sweden, 4 tools: `sweden_get_company`, `sweden_get_document_list` for annual reports, `sweden_download_document` and `sweden_check_status`
- Resilience built in: an LRU cache with per-endpoint TTLs, a circuit breaker that opens after 5 consecutive failures, request deduplication and paginated responses defaulting to 20 results
Nothing for Norway, Denmark and Finland — those APIs need no authentication. Sweden needs free OAuth2 credentials from Bolagsverket's developer portal, set as `BOLAGSVERKET_CLIENT_ID` and `BOLAGSVERKET_CLIENT_SECRET`; without them the Sweden tools simply are not registered. Download a release binary or build from source with Go 1.24+, or use the container image `ghcr.io/olgasafonova/nordic-registry-mcp-server:1.0.2`. For remote use, `-http :8080` with `-token`; binding to a non-loopback address without a token is refused at startup.
One command plus a key — claude mcp add nordic-registry ./nordic-registry-mcp-server, then supply credentials
