# nordic-registry-mcp-server

Query official business registries across Norway, Denmark, Finland, and Sweden. Check company standing and legal signing rights directly from your coding assistant.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 14
- Author: olgasafonova
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/olgasafonova/nordic-registry-mcp-server
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/nordic-registry-mcp-server

## What it does

The server connects your client to four official Nordic business registries through 23 tools. It queries public endpoints from Brønnøysundregistrene, CVR, PRH, and Bolagsverket, returning company details, headcount, registered addresses, and filing records.

All operations are read-only. The server does not store personal data beyond the active session. It handles batch lookups for verifying lists of company IDs and checks who has legal authority to sign documents.

Endpoints for Norway, Denmark, and Finland work without authentication. Sweden requires OAuth2 credentials from Bolagsverket; without setting those environment variables, the four Swedish tools will fail.

## Requirements
- Needs: Docker
- Environment variables: `BOLAGSVERKET_CLIENT_ID`, `BOLAGSVERKET_CLIENT_SECRET` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env BOLAGSVERKET_CLIENT_ID=<BOLAGSVERKET_CLIENT_ID> --env BOLAGSVERKET_CLIENT_SECRET=<BOLAGSVERKET_CLIENT_SECRET> --transport stdio nordic-registry-mcp-server -- docker run -i --rm -e BOLAGSVERKET_CLIENT_ID -e BOLAGSVERKET_CLIENT_SECRET ghcr.io/olgasafonova/nordic-registry-mcp-server:1.0.2
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add nordic-registry-mcp-server --env BOLAGSVERKET_CLIENT_ID=<BOLAGSVERKET_CLIENT_ID> --env BOLAGSVERKET_CLIENT_SECRET=<BOLAGSVERKET_CLIENT_SECRET> -- docker run -i --rm -e BOLAGSVERKET_CLIENT_ID -e BOLAGSVERKET_CLIENT_SECRET ghcr.io/olgasafonova/nordic-registry-mcp-server:1.0.2
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "nordic-registry-mcp-server": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "BOLAGSVERKET_CLIENT_ID",
                "-e",
                "BOLAGSVERKET_CLIENT_SECRET",
                "ghcr.io/olgasafonova/nordic-registry-mcp-server:1.0.2"
            ],
            "env": {
                "BOLAGSVERKET_CLIENT_ID": "<BOLAGSVERKET_CLIENT_ID>",
                "BOLAGSVERKET_CLIENT_SECRET": "<BOLAGSVERKET_CLIENT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "nordic-registry-mcp-server": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "BOLAGSVERKET_CLIENT_ID",
                "-e",
                "BOLAGSVERKET_CLIENT_SECRET",
                "ghcr.io/olgasafonova/nordic-registry-mcp-server:1.0.2"
            ],
            "env": {
                "BOLAGSVERKET_CLIENT_ID": "<BOLAGSVERKET_CLIENT_ID>",
                "BOLAGSVERKET_CLIENT_SECRET": "<BOLAGSVERKET_CLIENT_SECRET>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e BOLAGSVERKET_CLIENT_ID=<BOLAGSVERKET_CLIENT_ID> -e BOLAGSVERKET_CLIENT_SECRET=<BOLAGSVERKET_CLIENT_SECRET> nordic-registry-mcp-server docker run -i --rm -e BOLAGSVERKET_CLIENT_ID -e BOLAGSVERKET_CLIENT_SECRET ghcr.io/olgasafonova/nordic-registry-mcp-server:1.0.2
```
Replace <…> with your own values

## When to use it
- verify active company status and bankruptcy records
- inspect board memberships and corporate signing authority
- look up corporate entities across four Nordic countries
- validate lists of company registration numbers in batches
- retrieve available annual reports for Swedish businesses

## Example prompts
- Check if Norwegian company 923609016 is active and who holds legal signing authority.
- Search the Danish CVR registry for Novo Nordisk and list its company details.
- Verify this list of Danish CVR numbers to spot any bankrupt entities.

## Similar
- [Cellarion Wine Registry](https://affpapa.org/en/nevibecode/mcp/cellarion-wine-registry.md) — MCP server · ★ 28
- [metagraphed — Bittensor subnet operational registry](https://affpapa.org/en/nevibecode/mcp/metagraphed-bittensor-subnet-operational-registry.md) — MCP server · ★ 11
- [Mercantry Registry](https://affpapa.org/en/nevibecode/mcp/mercantry-registry.md) — MCP server
- [iros-registry-automation](https://affpapa.org/en/nevibecode/skills/iros-registry-automation.md) — skill · 6200 installs
- [offer-claims-registry](https://affpapa.org/en/nevibecode/skills/offer-claims-registry.md) — skill · 1000 installs
- [channel-registry](https://affpapa.org/en/nevibecode/skills/channel-registry.md) — skill · 1000 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
