datanorge

datanorge

An MCP server to find and fetch Norwegian open government data from data.norge.no. Enables search, metadata retrieval, and data download.

Category
Visit Server

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-datakilde skill (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_data leser maks 256 KB som standard (opp til 5 MB via maxKilobytes). Binært innhold returnerer kun metadata.
  • Språk: norske søkeord treffer best; resultater inkluderer nb/nn/en der 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured