mcpField
U
udir-mcp

udir-mcp

Local
github.com/3121nLegal & Government0Updated 20w ago

About udir-mcp

udir-mcp exposes Norway’s NSR school registry and NBR kindergarten registry through their open REST APIs. It is intended for registry lookups, with municipality-based searches and organization-level details such as addresses and coordinates.

Key features

  1. 01Search schools by municipality
  2. 02Filter schools by name and type
  3. 03Search kindergartens by municipality
  4. 04Retrieve organization details and coordinates

Use cases

  1. 01List schools within a municipality
  2. 02Find kindergartens by owner type
  3. 03Get locations for mapping or distance calculations

MCP support

Exposes search and detail tools for the NSR and NBR registries to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"3121n-udir": {
"command": "npx",
"args": [
"-y",
"@nor-data/udir-mcp"
]
}
}
}
Run commandnpx -y @nor-data/udir-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@nor-data/udir-mcp0.1.2

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
navnstringNoSubstring filter on school name (case-insensitive)
typeenumNoSchool type filter (default: all active schools)grunnskole | videregaaende | privat | offentlig | spesialskole | alle
kommunenummerstringYes4-digit municipality number, e.g. '0301' for Oslo (leading zero required; '301' is normalized)
inkluder_inaktivebooleanNoInclude closed/inactive units (default false)

Details

From the project README

@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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.