An MCP server for Enhetsregisteret, the Norwegian Central Coordinating Register for Legal Entities.
Gives an AI agent direct access to the Norwegian company register: look up an organisation number, search by name or industry, list companies registered in a municipality this month, or read the registered board of a company.
Every Norwegian developer, analyst or salesperson eventually needs the same thing — company data from Brønnøysund — and ends up writing the same fetch wrapper. This is that wrapper, exposed as tools an agent can call directly.
Unlike a lot of public-data projects, there is no local copy and no scheduled harvest here. Enhetsregisteret is an official, documented, unauthenticated API that answers fast, so the server queries it live. The data you get is the register as it stands right now.
| Tool | What it does |
|---|---|
search_companies |
Search by name, industry code (NACE), municipality or legal form |
get_company |
Full register record for one organisation number |
list_recent_registrations |
Companies entered into the register within a recent date window |
get_roles |
Registered roles — chair, board members, general manager |
Filters accept comma-separated values, so municipalityNumber: "3103,3105" covers several municipalities in one call and organisationForm: "AS,ENK" covers several legal forms.
git clone https://github.com/DimaVasilenko-Intune/mcp-brreg.git
cd mcp-brreg
npm install
npm run build
claude mcp add brreg -- node "$(pwd)/dist/server.js"Any MCP client works — it is a plain stdio server:
{
"mcpServers": {
"brreg": {
"command": "node",
"args": ["/absolute/path/to/mcp-brreg/dist/server.js"]
}
}
}Once connected, an agent can answer things like:
- "Which limited companies were registered in Moss in the last 30 days?"
- "Look up organisation number 923609016 and tell me who chairs the board."
- "Find bakeries in Fredrikstad that have no website registered."
Enhetsregisteret at data.brreg.no — public, free and unauthenticated. No API key is needed and this server sends none. The register is maintained by Brønnøysundregistrene; this project only reshapes what it publishes.
A note on personal data: get_roles returns the names of people holding registered roles. That information is public by law and already served by the register to anyone who asks — this server does not widen access to it. If you build something on top, the usual rules about processing personal data still apply to you.
npm run dev # run from source
npm run build # compile to dist/MIT © Dima Vasilenko