Back to Directory/Developer Tools

io.github.3121n/udir-mcp

Norwegian school (NSR) & kindergarten (NBR) registry data from UDIR.

Developer ToolsJavaScriptv0.1.2

@nor-data/udir-mcp

MCP-server som wrapper UDIRs åpne registre — bygget for Nabodata-kartleggingen (#4: skoler/barnehager).

  • NSR (Nasjonalt skoleregister): https://data-nsr.udir.no/v3
  • NBR (Nasjonalt barnehageregister): https://data-nbr.udir.no/v3

Begge er åpne, auth-frie REST-API-er.

Verktøy

VerktøyBeskrivelse
sok_skoleSkoler per kommune (4-sifret kommunenr, normaliserer ledende null). Filter: navn-delstreng, type (grunnskole/videregaaende/privat/offentlig/spesialskole), inkluder_inaktive
hent_skoleFull detalj per orgnr: adresse, koordinater (lat/lon, GeoNorge), elevtall, ansatte-intervall, målform, kontakt
sok_barnehageBarnehager per kommune. Filter: navn, eierform (privat/offentlig), inkluder_inaktive
hent_barnehageFull detalj per orgnr: adresse, koordinater, eierform, kategorier

Datakvalitets-merknader (verifisert 6. juni 2026)

  • UDIR leverer {Lengdegrad:0, Breddegrad:0, GeoKilde:"Undefined"} for ikke-geokodede enheter — serveren behandler dette som manglende koordinat (utelater feltet).
  • Navn-queryparam på /v3/enheter ignoreres av UDIR — navnefilter gjøres derfor klientside per kommune.
  • Registrene inneholder test-enheter (orgnr U999…, kommune 2599) — filtreres implisitt bort ved kommune-søk.

Bygg & test

npm install && npm run build
npm test   # E2E med ekte UDIR-kall (11 sjekker)

Nabodata-bruk

sok_grunnkrets (kartverket) → kommunenr → sok_skole/sok_barnehage → hent_* for koordinater → avstandsberegning klientside. Fremtidig fase B: skoler_naer_punkt med batch-detaljhenting og haversine-radius.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @nor-data/udir-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-3121n-udir-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@nor-data/udir-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@nor-data/udir-mcpnpm

Compatible MCP Clients

io.github.3121n/udir-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More