datanorge
An MCP server to find and fetch Norwegian open government data from data.norge.no. Enables search, metadata retrieval, and data download.
README
datanorge
Finn og hent norske offentlige data fra data.norge.no — rett fra Claude Code.
Spør deg selv «hvor finner jeg data om dette?» — og la Claude lete for deg. Dette er en liten Claude Code-plugin med to deler som spiller sammen:
- 🔎 en
/finn-datakilde-kommando/skill som leter iterativt i Felles datakatalog og finner offentlige datasett og API-er for et tema; - 🧰 en MCP-server med verktøy for å søke, hente metadata og laste ned selve dataene.
Den krever ingen API-nøkkel og nesten null oppsett, fordi API-ene bak data.norge.no er helt åpne. Og den henter alltid fram lisens og krediteringskrav, slik at kilden blir kreditert når den skal.
English: A Claude Code plugin to find and fetch Norwegian open government data from data.norge.no. Ships a
/finn-datakildeskill (iterative data-source discovery) plus an MCP server (search / metadata / download). No API key. Always surfaces the licence and required attribution. See the tools table and the Kreditering section below.
Kom i gang
Alternativ A — som plugin (anbefalt: kommando + MCP i ett)
I Claude Code:
/plugin marketplace add tenki-labs/datanorge-mcp
/plugin install datanorge@datanorge-mcp
Det kobler opp både /finn-datakilde-skillen og MCP-verktøyene. Start Claude Code på nytt
hvis den ber om det. Eneste krav: Node.js 18+.
Alternativ B — bare MCP-serveren (uten skillen)
Vil du bare ha verktøyene, rett fra GitHub, uten kloning eller npm-publisering:
claude mcp add datanorge -- npx -y github:tenki-labs/datanorge-mcp
Alternativ C — fra kildekode (utvikling)
git clone https://github.com/tenki-labs/datanorge-mcp.git
cd datanorge-mcp
npm install # bygger også via "prepare"
Åpne Claude Code i mappa (den bundlede .mcp.json plukkes opp automatisk), eller
registrer eksplisitt: claude mcp add datanorge -- node /absolutt/sti/dist/index.js.
Slik bruker du den
Bare spør på vanlig norsk — skillen trigger på spørsmål som dette:
- «Hvor finner jeg data om luftkvalitet i Oslo?»
- «Finnes det åpne data på ladestasjoner for elbil?»
- «Er det noe offentlig statistikk på befolkning per kommune?»
…eller bruk kommandoen direkte:
/finn-datakilde befolkning per kommune
Claude søker iterativt, forfiner søket, henter detaljer, og presenterer en kort liste med kilder — inkludert hvordan du krediterer hver kilde.
Verktøyene (MCP)
| Verktøy | Funksjon |
|---|---|
search_datasets |
Søk i datasettkatalogen |
get_dataset |
Full metadata + nedlastingslenker + lisens/kreditering |
search_apis |
Søk i API-katalogen (SSB, Kartverket, MET m.fl.) |
get_api |
Endepunkt-URL-er for ett API |
fetch_data |
Henter de faktiske dataene (CSV/JSON/XML/GeoJSON) |
Typisk flyt: søk → get_dataset → fetch_data.
Kreditering / attribution
Dette er viktig, og verktøyet hjelper deg med det automatisk.
Når du bruker data du finner her, følger plikten til å oppgi kilde av datasettets egen
lisens — ikke av data.norge.no. get_dataset og get_api viser derfor alltid en
«Kreditering / attribution»-seksjon med lisensen og en ferdig kildehenvisning:
- NLOD (Norsk lisens for offentlige data) — krever kreditering:
Inneholder data under Norsk lisens for offentlige data (NLOD) tilgjengeliggjort av {utgiver}.
- CC BY 4.0 o.l. — krever kreditering:
«{tittel}» av {utgiver}, lisensiert under CC BY 4.0. Kilde: {lenke}.
- CC0 / public domain — kreditering er ikke et krav, men god skikk er å lenke til kilden.
- Uavklart lisens — sjekk vilkårene på kildens landingsside før bruk.
Tar du dataene videre i en rapport, et notat eller en app: ta krediteringen med — ikke bare nevn at den finnes. Lenk gjerne også til datasettet på data.norge.no.
Slik virker det
Serveren snakker med to åpne, uautentiserte FDK-endepunkter:
- Søk —
POST https://search.api.fellesdatakatalog.digdir.no/search/{type} - Resource —
GET https://resource.api.fellesdatakatalog.digdir.no/v1/{type}/{id}
fetch_data laster så ned direkte fra distribusjons-/endepunkt-URL-en katalogen peker til
(disse ligger hos utgiverne selv, f.eks. SSB, Kartverket, Statens vegvesen).
Begrensninger
- Rate limit: søke-API-et tillater ~10 forespørsler/minutt. Serveren prøver automatisk på nytt ved HTTP 429.
- Nedlastingstak:
fetch_dataleser maks 256 KB som standard (opp til 5 MB viamaxKilobytes). Binært innhold returnerer kun metadata. - Språk: norske søkeord treffer best; resultater inkluderer
nb/nn/ender det finnes.
Utvikling
npm install # installer + bygg
npm run watch # bygg på endring
npm run smoke # ende-til-ende MCP-sjekk mot live-API
npm run inspector # åpne MCP Inspector mot serveren
Struktur:
src/index.ts registrerer MCP-verktøyene ·
src/fdk.ts er FDK-klienten ·
src/format.ts formaterer svar og klassifiserer lisens/kreditering ·
skills/finn-datakilde/SKILL.md er skillen ·
commands/finn-datakilde.md er slash-kommandoen ·
.claude-plugin/ er plugin- og marketplace-manifestene.
Publisering (vedlikeholdere)
Pakka publiseres til npm automatisk når en versjons-tag pushes:
npm version patch
git push --follow-tags
Dette trigger .github/workflows/publish.yml. Det krever en
NPM_TOKEN-hemmelighet med publiseringsrett til @tenki-labs-scopet. Plugin- og
MCP-installasjon fungerer uansett rett fra GitHub via npx, uten npm-publisering.
Lisens
MIT © Tenki Labs.
Data leveres av data.norge.no, driftet av Digitaliseringsdirektoratet (Digdir). Prosjektet er ikke tilknyttet eller godkjent av Digdir. Følg hvert datasetts egen lisens — se Kreditering over.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.