Back to Devoured - July 06, 2026
DEVOURED
Norwegian public-data MCP servers (Tool)

Norwegian public-data MCP servers (Tool)

Data Allemannsdata
Allemannsdata has released 23 Model Context Protocol (MCP) servers, allowing AI assistants to directly query real-time Norwegian public data without needing API keys.
What: The collection provides standardized tools to access diverse Norwegian datasets including AIS ship tracking, energy pricing, parliamentary votes, and public-health statistics from institutions like Statnett, Norges Bank, and the Norwegian National Library.
Why it matters: This ecosystem move standardizes local government data access for AI agents, effectively treating national infrastructure as modular tools that can be dynamically called by LLMs.
Deep dive
  • Provides 23 distinct MCP server endpoints covering energy, transport, law, health, and finance.
  • Enables natural language queries for complex public data like AIS vessel positions, electricity market spot prices (NO1–NO5), and parliamentary legislative records.
  • Integrates multiple data providers including Avinor (flights), Statens Vegvesen (traffic/roads), and Lovdata (law).
  • Designed for seamless integration into MCP-compatible clients (e.g., Claude Desktop, Zed, or custom agents).
  • Eliminates the overhead of manual data scraping for Norwegian public records by offering predefined, type-safe function calls.
Decoder
  • MCP (Model Context Protocol): An open standard developed by Anthropic that allows AI models to connect to external data sources and tools through a uniform, vendor-neutral protocol.
  • AIS (Automatic Identification System): A tracking system used on ships and by vessel traffic services for identifying and locating vessels by electronically exchanging data with other nearby ships and base stations.
  • SPARQL: A standard query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format, used here for the national data catalog.
  • Bidding Zone: A geographical area within the European electricity market where electricity can be exchanged without capacity allocation; prices are typically uniform within these zones.
Original article

Ship Traffic (AIS)

Live vessel positions, historical tracks and area traffic snapshots from BarentsWatch AIS.

  • find_vessels_nearby: Find the vessels currently nearest to a point - "what ships are off Bergen right now". Give a Norwegian place name OR a lat/lon coordinate.
  • get_vessel_position: Get one vessel's latest position with a human-readable location ("3.2 km NW of Kristiansund"), speed, course and navigational status.
  • get_vessel_track: Get a vessel's movement over a time window as a summary + simplified track - "where has KV Svalbard been the last 24 hours".
  • get_area_traffic: Snapshot of ship traffic in an area - "how busy is Oslofjorden right now". Give a Norwegian place name OR a lat/lon coordinate.
  • lookup_vessel: Resolve vessel identity: name <-> MMSI <-> IMO <-> callsign, plus flag state, type and dimensions. Use before positional queries to disambiguate - a name fragment returns up to 30 candidates.

Artskart

Search species and query verified occurrence records from Artsdatabanken's Artskart.

  • search_species: Search for a species/taxon by Norwegian popular name or scientific name.
  • get_species: Get full taxonomic detail for one species/taxon by id.
  • get_species_children: Get the child taxa of a taxon, e.g. the species within a genus or the genera within a family.
  • find_observations: Search verified species observation records.
  • list_reference_codes: List valid codes for a filter field used by search_species/find_observations.

Avinor Flights

Real-time arrivals and departures for Norway's 43 Avinor airports, from Avinor's open flight data feed.

  • get_flights: Flights to/from one airport, with schedule and live status from Avinor.
  • lookup_airport: Find an airport's IATA code by name, or its name by code.
  • lookup_airline: Find an airline's IATA code by name, or its name by code.

Data.norge.no

Search and query Norway's national data catalog via its open SPARQL endpoint — ~9,000 datasets, APIs and concepts.

  • sparql_query: Run a SPARQL query against the data.norge.no national data catalog.
  • search_datasets: Search the national data catalog for datasets by words in their title or description.
  • search_resources: Search the other catalog resource types by words in title/description: data services (APIs), public services or information models.
  • search_concepts: Search begreper (concepts/terms) in the national data catalog by words in their preferred label.

ENTSO-E Transparency

Day-ahead and imbalance prices, generation mix and forecasts, load, capacity, cross-border flow and outages for ~25 European bidding zones, from ENTSO-E's Transparency Platform.

  • list_zones: List the bidding zone codes accepted by the other tools, mapped to display names. Covers all Nordic and Baltic zones plus the major continental European zones. GB is not available: ENTSO-E has had no UK data since Brexit.
  • get_day_ahead_prices: Get one day's day-ahead spot prices (EUR/MWh) for a European bidding zone.
  • get_imbalance_prices: Get one day's imbalance (balancing) settlement prices (EUR/MWh) for a European bidding zone - what a balance-responsible party pays or is paid per MWh of deviation from its schedule.
  • get_generation_mix: Get one day's actual generation (MW) broken down by production type for a European bidding zone.
  • get_generation_forecast: Get one day's day-ahead wind and solar generation forecast (MW) for a European bidding zone.
  • get_installed_capacity: Get installed generation capacity (MW) by production type for a whole year, for a European bidding zone.
  • get_load: Get one day's system-wide electricity load (MW) for a European bidding zone.
  • get_cross_border_flow: Get one day's metered physical power flow (MW) from one bidding zone to another.
  • get_generation_outages: Get planned and forced (unplanned) outages of generation units in a European bidding zone over a date range - the single best explanation for an unexpected price spike (a plant going down).
  • get_transmission_outages: Get planned and forced (unplanned) outages of interconnectors/transmission assets between two European bidding zones over a date range - explains sudden drops in cross-border transfer capacity.

Entur

Journey planning and live departures across all of Norway (Journey Planner v3 + Geocoder).

  • find_stop_places: Resolve a place name to Entur StopPlace ids and coordinates.
  • get_departures: Get the live departure board for a StopPlace.
  • plan_journey: Plan a public-transport journey between two points.

FHI Statistikk

Public-health statistics from FHI's statistics banks — causes of death, births, infectious diseases, drug use, vaccinations and more.

  • list_sources: List the statistics sources (registers) in FHI's statistics banks.
  • search_tables: Find tables by keyword in their titles, across all sources or one.
  • get_table_dimensions: Get a table's dimensions and the valid value codes for each.
  • get_table_data: Query a table's data and return it as labeled rows.
  • get_table_description: Get a table's descriptive metadata: what the register covers, how the figures are produced, and caveats for interpreting them.

Company Facts

Companies, people, shareholders, roles, grants and financials from Norwegian public registries.

  • organisasjonsnummer_for_selskap: Returns the organisasjonsnummer for a company or multiple companies if there is ambiguity. The method filters and tries to match company names based on the input.
  • personinformasjon: Retrieves information about a person based on their name. The method filters and tries to match person names based on the input.
  • selskapsdetaljer: Retrieves detailed information for a company by its organization number.
  • aksjeeiere_for_selskap: Retrieves a list of shareholders for a given company organization number.
  • selskapets_aksjeposter: Retrieves a list of stocks owned by a given company (i.e., where the company is a shareholder).
  • aksjeposter_for_person: Retrieves stock holdings for an individual based on their name and birth year.
  • roller_i_enhet: Retrieves roles for a given organization number from Brønnøysund Registeret. Contains information about the board members, the CEO, accountant and other roles.
  • underenheter_for_selskap: Retrieves "underenheter" (sub-entities/branches) for a given parent organization number.
  • tildelinger_for_selskap: Retrieves "tildelinger" (allocations/grants) for a given organization number.
  • eu_tildelinger_for_selskap: Retrieves EU grants awarded to a specific organization number.
  • forskningsradet_tildelinger_for_selskap: Retrieves grants from "Forskningsrådet" (The Research Council of Norway) for a specific organization number.
  • skattefunnprosjekter_for_selskap: Retrieves SkatteFUNN projects for a given organization number.
  • stillinger_for_selskap: Retrieves active job listings from NAV (arbeidsplassen.no) for a given employer organization number.
  • list_naeringskoder: List Norwegian business activity codes (naeringskoder) present in the database.
  • finn_selskaper: Search for companies by location (kommune or fylke), optionally filtered by business activity codes, company age and employee count.
  • get_company_last_financial_statement: The open section contains key figures from the most recently submitted annual financial statements, while the closed section contains almost all figures from the past three annual financial statements, including those from the consolidated accounts.
  • get_company_ip_rights: This dataset contains information about registered rights and applications submitted in Norway. The dataset provides detailed information about patented inventions, trademarks and designs. This includes applicant names, important ID numbers, application date, status and relevant events.

Geonorge

Kartverket's open address and place name APIs — text search and reverse geocoding, WGS84 coordinates.

  • search_address: Search Norwegian addresses by free text.
  • reverse_geocode: Find the addresses nearest to a coordinate (reverse geocoding).
  • search_place_name: Search Norwegian place names (stedsnavn) by free text.
  • find_places_near_point: Find the place names nearest to a coordinate (reverse geocoding for stedsnavn - use reverse_geocode instead for street addresses).
  • list_place_types: List valid navneobjekttype values (place types, e.g. "By", "Fjell", "Øy", "Innsjø", "Kirke", "Gard") for filtering search_place_name and reading the `type` field on its results.

Lovdata

Norwegian laws and regulations in force from Lovdata's open data, plus Supreme Court decisions from domstol.no.

  • search_rules: Search Norwegian laws and central regulations currently in force.
  • get_rule: Get one law or regulation: metadata plus its list of sections.
  • get_section: Get the text of a single section (paragraf) of a law or regulation.
  • search_case_law: Free-text search in Norwegian Supreme Court (Høyesterett) decisions.
  • list_case_law: List Norwegian Supreme Court (Høyesterett) decisions for one year.
  • get_case_law: Get one Høyesterett decision: summary, metadata and PDF link.

Air Quality

Air quality from the official Luftkvalitet i Norge network — measurements and forecasts.

  • find_air_stations: List Norway's air quality measuring stations with their latest overall AQI level and which components (PM2.5, PM10, NO2, O3, SO2) each measures.
  • get_air_quality_nearby: Get the measuring stations nearest a coordinate with their latest measured AQI level per component. Sorted by distance.
  • get_station_latest: Get the latest measured values at one station: newest hourly value and running 24h mean per component, in ug/m3, with AQI level for each.
  • get_station_history: Get the measured hourly time series for one station, per component (ug/m3). Feed straight into a chart.
  • get_air_quality_forecast: Get the modelled hourly air quality forecast (~2 days ahead) for any coordinate in Norway: overall AQI index plus PM2.5, PM10, NO2 and O3 concentrations (ug/m3).

Marine

Aquaculture register (Fiskeridirektoratet) and salmon fish-health data (BarentsWatch).

  • find_aquaculture_sites: Search the official Norwegian aquaculture register (Fiskeridirektoratet) for fish-farming sites.
  • get_aquaculture_site: Get one aquaculture site from the register by its site number (same number as the fish-health locality number).
  • get_lice_report: Get the weekly salmon-lice report for Norwegian aquaculture localities: farm-reported adult female lice per fish, fallow status, and PD/ILA disease flags.
  • get_locality_status: Get the full weekly fish-health status for one aquaculture locality: lice counts (adult female / mobile / stationary), sea temperature, treatments that week, and any ILA/PD disease zones it sits in.
  • get_lice_history: Get the weekly adult-female-lice series for one locality for a year. Feed straight into a chart against the 0.5 (0.2 in spring) limit.
  • get_sea_temperature: Get the weekly farm-reported sea temperature at one locality for a year.
  • get_lice_treatments: Get all lice treatments at one locality for a year: medicinal (bath / in-feed), non-medicinal, cleaner fish and mechanical removal, per week.

Food Safety Smileys

Hygiene inspection results ("Smilefjes") for Norwegian restaurants and cafes, from Mattilsynet.

  • search_establishments: Search food-serving establishments by their most recent Smilefjes grade.
  • get_inspection_history: Get every Smilefjes inspection recorded for one establishment, oldest first.
  • get_requirement_points: Get the detailed requirement-point (kravpunkt) grades for one inspection.

National Library

Search and read OCR text from the National Library's catalog — books, newspapers, journals, photos, maps, music and more.

  • search: Search the National Library's catalog - books, newspapers, journals, photos, maps, music, manuscripts, radio/TV and more, both physical and digitized. Digitized text (OCR) is matched too by default, so a query can surface newspaper or book pages that mention a term even when it's not in the title.
  • get_item: Get full catalog metadata for one item.
  • get_related_items: Get items related to one catalog item - e.g. the newspaper/journal a digitized article appeared in (hosts), articles/pages it contains (constituents), the previous/next issue in a run, or the series it belongs to. Most items (e.g. standalone books) have no recorded relations - an empty result is normal, not an error.
  • search_within_item: Full-text search inside the OCR'd pages of one specific digitized item (a book, one newspaper issue, a journal issue, etc.), returning which pages contain the term. Use this to jump straight to relevant pages of a long item instead of reading it page by page.
  • get_aggregations: Get facet counts for a query - e.g. how many matching items exist per year, county, media type or language. Useful for a quick overview before drilling into search() results, or for questions like "how many newspaper items mention X, broken down by year".

Norges Bank

Exchange rates, the policy rate, government bond yields and the Regional Network business survey from Norges Bank's open data API.

  • list_datasets: The Norges Bank dataflows most worth querying, out of ~20 published.
  • get_exchange_rate: Daily NOK exchange rate for one foreign currency.
  • get_policy_rate: Norges Bank's key central bank rates, daily.
  • get_short_term_rate: Norwegian short-term money market rates (Nowa), daily.
  • get_government_bond_yield: Norwegian government bond zero-coupon yield, daily.
  • get_regional_network_survey: Norges Bank's quarterly Regional Network business survey.
  • get_dataset_dimensions: Get a dataflow's dimensions and their valid codes, in key order.
  • get_series: Fetch one or more time series from any Norges Bank dataflow.

NVE

Reservoir fill levels, hydrological observations and modelled snow/inflow from NVE.

  • get_reservoir_levels: Get the latest reservoir fill level for Norway as a whole and for each elspot price area (NO1 to NO5).
  • get_reservoir_history: Get weekly reservoir fill history for one area.
  • get_reservoir_min_max_median: Historical min / max / median fill levels per week for one area, computed by NVE over the reference period. Perfect as the shaded background band in a reservoir chart.
  • list_hydro_parameters: List the hydrological parameters HydAPI can return (water flow, level, temperature, precipitation, etc.) with their numeric ids and units.
  • find_hydro_stations: Find NVE hydrological measuring stations and see which time series (parameters + resolutions) each one offers.
  • get_hydro_observations: Get a hydrological time series for a station.
  • get_hydro_percentiles: Day-of-year percentile bands (the seasonal "normal") for a station's parameter, computed by NVE over the station's full record. Use them as the reference band to judge whether an observed value is high or low for the time of year, e.g. is inflow above or below normal right now.
  • get_snow_and_inflow: Modelled snow reservoir and inflow at a point from NVE's seNorge grid model (1x1 km, all of Norway; no API key). These are the hydrological fundamentals behind hydropower value in a catchment.

Police Log

The Norwegian Police public operational log — incidents, traffic, order and more.

  • search_messages: Search the Norwegian police log.
  • search_by_location: Find police log messages for a place name, whether the API classifies it as a municipality or as a sub-locality `area` (e.g. "Bragernes", "Sjøvegan") -- the API only supports server-side filtering by municipality, not by area.
  • get_message: Get a single police log message by its id (e.g. "26k3hb-2").
  • list_categories: List the message categories, with their names and ids.

Public Mail Journals

Aggregated Norwegian municipal and state mail journals (norske-postlister.no)

  • search: Search Norwegian public mail journals (postlister).
  • search_kommune: Search one municipality's (or agency's) mail journal, optionally by time range.
  • get_case: List all documents belonging to one case (sak).

SSB Statbank

Statistics Norway's Statbank — ~7,500 tables via PxWebApi 2, flattened to labeled rows.

  • search_tables: Free-text search across the SSB Statbank table catalog.
  • get_table_metadata: Get a table's dimensions and the valid codes/labels for each.
  • get_table_data: Query a table's data and return it as labeled rows.

Statnett Grid Operations

Live power flow, production/consumption and power-situation status from Statnett, the Norwegian TSO.

  • get_physical_flow: Get the current physical power flow (MW) on every interconnector between Nordic/Baltic price areas and countries, live from Statnett.
  • get_production_consumption: Get the current Nordic/Baltic electricity production (by source), consumption and net exchange per country, live from Statnett.
  • get_power_situation: Statnett's current power-situation assessment for Norway's price areas (NO1-NO5): whether the grid capacity situation is normal or strained for the season.

Stortinget

Norwegian parliament open data — representatives, parties, cases and votes, plus election results from valgresultat.no.

  • list_sessions: List parliamentary sessions (sesjoner, e.g. "2025-2026"), from 1986-87. Session ids are the `sesjonid` parameter for cases, votes and parties.
  • list_periods: List election periods (stortingsperioder, e.g. "2025-2029"). Period ids are the `stortingsperiodeid` parameter for representatives.
  • get_current_representatives: Today's sitting representatives (name, party, county, id, email).
  • get_representatives: Get the representatives elected for a given period.
  • get_current_government: The sitting government's members (regjeringsmedlemmer).
  • get_parties: Get the parties represented in parliament.
  • search_cases: List the cases (saker) handled in a session.
  • get_case: Get the full detail for one case (sak): recommendation text, committee, short decision, references and topics.
  • get_votes_for_case: List the votes (voteringer) held on a case, with for/against/absent counts. Use a vote's `votering_id` with get_vote_result() for the per-representative breakdown.
  • get_vote_result: Get the per-representative result of a single vote (voteringsresultat): how each representative voted.
  • get_election_result: Norwegian election results from valgresultat.no (Valgdirektoratet): per-party votes, percentages, change vs last election and seats, plus turnout. Omit fylke_nr for the national result; the response's `underomrader` lists the area numbers one level down.

Electricity Prices

Hourly electricity spot prices per elspot area (NO1–NO5) from hvakosterstrommen.no.

  • get_prices: Get one day's hourly spot prices for one price area.
  • get_price_now: Get the spot price for the current hour in a price area.
  • get_price_range: Get hourly prices across a date range for one price area (max 31 days).
  • get_cheapest_hours: Rank a day's hours from cheapest and return the n cheapest.
  • find_area: Look up which price area (NO1..NO5) a coordinate falls in.

Statens Vegvesen

Traffic counts and the national road database (NVDB) from Statens Vegvesen.

  • find_traffic_points: Find traffic registration points (trafikkregistreringspunkt) - the physical counting stations on Norwegian roads that this server's other traffic tools read from.
  • get_traffic_volume: Get recent hourly traffic volume for a registration point - the closest thing to real-time traffic counts Vegvesen publishes (data typically lags an hour or so behind the clock).
  • get_average_daily_traffic: Get yearly average daily traffic (AADT / "ÅDT") for a registration point - the standard measure of how busy a road is, averaged over a full year to smooth out seasonal and day-of-week swings.
  • list_road_object_types: List NVDB road object types (vegobjekttyper) - the ~400 categories of things recorded against the road network, e.g. speed limits, tunnels, bridges, guardrails, traffic signs.
  • search_road_objects: Search NVDB for road objects of one type, e.g. all speed limit signs in a county, or all tunnels on a given road.
  • get_road_at_point: Find the road network reference nearest a coordinate - the road-network equivalent of reverse geocoding an address.
  • get_traffic_messages: Get traffic messages (veimeldinger) from Vegvesen's DATEX II feed - roadworks, road closures, incidents, ferry disruptions, reduced speed and lane restrictions on Norwegian roads. Newest first.

Weather

Current conditions and forecasts from MET Norway, historical data via Open-Meteo, plus tides and sea level from Kartverket.

  • get_current_weather: Get current weather conditions for a coordinate in or near Norway.
  • get_forecast: Get the upcoming hourly weather forecast for a coordinate in or near Norway.
  • get_historical_weather: Get daily historical weather for a coordinate.
  • get_tide_forecast: Get the tide and sea-level forecast ("havnivå") for a coordinate on or near the Norwegian coast, from Kartverket.
  • get_tide_table: Get the tide table ("tidevannstabell") - high and low water times - for a coordinate on or near the Norwegian coast, from Kartverket.
  • get_sea_level_extremes: Reference sea levels for a coordinate on or near the Norwegian coast: astronomical tide extremes and statistical storm-surge return levels, from Kartverket.
Explore all 67 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi