Norwegian transport (Entur) and geodata (Kartverket): trips, departures, addresses, elevation.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Norway Location Transport MCP.
validCallable MCP tool function
An MCP server that gives AI agents structured access to Norwegian public transport and geospatial data, through the free Entur and Kartverket / Geonorge APIs.
The two sources compose: trip planning needs geocoding, elevation needs address resolution, and admin lookups tie coordinates to places. One server answers practical local questions β "how do I get from here to Bergen?", "what is the elevation along this hike?", "which kommune is this address in?", "are there e-scooters nearby?".
Both data sources are free with no paid tiers and no API keys. Entur requires only a self-identifying ET-Client-Name header (see below); Kartverket requires nothing.
search_address(query?, street?, number?, postal_code?, municipality_number?, max_results) β search official addresses by free text or fields; supports the * wildcard. Returns coordinates and cadastral numbers.find_addresses_near(latitude, longitude, radius_m, max_results) β all addresses within a radius of a point, with distances.validate_address(address) β validate and normalize a free-text address (fuzzy). Returns valid, the normalized match, and alternatives.search_place_names(query, max_results) β search official place names; returns feature type (Fjell, InnsjΓΈ, β¦), municipality, county, and coordinates. Supports *.find_place_names_near(latitude, longitude, radius_m, max_results) β nearest named features to a point, with distances.get_elevation(latitude, longitude) β terrain elevation from the national elevation model (DTM).get_elevation_profile(path, samples) β elevation sampled along a path; returns the profile plus total distance, ascent, and descent.transform_coordinates(x, y, from_epsg, to_epsg) β convert between reference systems (e.g. WGS84 4326 β UTM33 25833).lookup_admin_unit(latitude?, longitude?, address?) β which kommune and fylke a coordinate or address falls in, with official codes.lookup_property(address?, latitude?, longitude?, max_results) β cadastral (matrikkel) identifiers (kommune / gnr / bnr / fnr) via the open address register.resolve_stop_place(query, max_results) β resolve a place or address to Entur Stop Place IDs.find_stops_near(latitude, longitude, radius_m, max_results) β reverse-geocode a coordinate to the nearest stop places.plan_trip(from_place?/from_latitude/from_longitude, to_place?/to_latitude/to_longitude, date_time?, arrive_by?, transport_modes?, walk_speed?, num_trip_patterns) β plan a point-to-point journey; filter by mode and walk speed. Returns trip patterns with legs, modes, durations, and realtime times.get_departures(stop_place_id, count) β next departures from a stop, with realtime delays, cancellations, and platform.get_realtime_status(stop_place_id? | line_id?) β realtime health: for a stop, on-time/delayed/cancelled counts; for a line, active vehicles and delays.get_stop_accessibility(stop_place_id) β per-quay wheelchair access and a summary. (See the accessibility note below.)list_quays(stop_place_id) β all quays (platforms) at a stop, with codes and coordinates.get_fare_zones(stop_place_id) β the fare (tariff) zone(s) a stop belongs to.find_shared_vehicles(latitude, longitude, range_m, form_factors?, count) β free-floating shared vehicles (bikes, e-scooters, cars, mopeds) across all operators.find_docking_stations(latitude, longitude, range_m, count) β docking stations with available vehicle and free-dock counts.get_vehicle_positions(codespace_id?, line_id?, max_results) β live vehicle positions with bearing, speed, and delay.Tool definitions live in src/kartverket.ts and src/entur.ts, combined in src/tools.ts and shared by both the stdio and HTTP entry points.
npm test spawns the server over stdio and calls every tool against the live APIs.
Over stdio (for most MCP clients):
Over Streamable HTTP (for HTTP-based clients):
Entur's terms require every request to carry an identifying ET-Client-Name header, formatted like company-app. This server sends one on every Entur request. Set your own value with the ET_CLIENT_NAME environment variable:
If unset, a package default is used. Kartverket needs no header or key.
Then ask, for example: "Plan a trip from Oslo S to Bergen and tell me the elevation of GaldhΓΈpiggen."
worker/ holds a remote deployment: the same 21 tools served over MCP Streamable HTTP, so the server can be added as a claude.ai connector. It shares the tool definitions with the local server (src/tools.ts takes z as a parameter, so it works with both the local MCP SDK v1 / zod 3 and the worker's SDK v2 / zod 4).
Deploy it (needs a Cloudflare account and wrangler login):
Set your Entur client name as a worker variable:
After deploy, add the remotes entry with your workers.dev URL to server.json.
Get the next departures from Oslo S:
Plan a bus/tram-only trip with a set walk speed:
Elevation profile along a short path:
Convert a WGS84 coordinate to UTM33:
src/index.ts speaks MCP over stdio (JSON-RPC on stdin/stdout). src/http.ts speaks MCP over Streamable HTTP with session management. Both build the same server via src/server.ts.console.log; it corrupts the stdio protocol. Log to stderr.MIT Β© Trond BjΓΈrΓΈy. Data Β© Kartverket and Entur, under NLOD.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/norway-location-transport-mcp)<a href="https://allmcps.com/mcp/norway-location-transport-mcp"><img src="https://allmcps.com/api/badge/norway-location-transport-mcp?style=directory" alt="Norway Location Transport MCP on AllMCPs" /></a>