{"name":"io.github.trondbjoroy/norway-location-transport-mcp","slug":"trondbjoroy-norway-location-transport-mcp","title":null,"description":"Norwegian transport (Entur) and geodata (Kartverket): trips, departures, addresses, elevation.","url":"https://mcp.market/server/trondbjoroy-norway-location-transport-mcp","rating":null,"grade":"A","score":93,"certified":false,"status":"active","category":"maps","tags":["maps"],"presence":{"score":20,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-24T08:24:19.000Z","license":"MIT"},"uptime":{"percent":100,"checks":8,"ok":8,"last_checked_at":"2026-09-21T11:50:44.998Z","last_ok_at":"2026-09-21T11:50:44.998Z","latency_ms":249},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/trondbjoroy/norway-location-transport-mcp","website":null,"version":"0.1.1","remotes":[{"type":"streamable-http","url":"https://norway-location-transport-mcp.met-mcp-worker.workers.dev/mcp"}],"packages":[{"registryType":"npm","identifier":"norway-location-transport-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Self-identifying client name sent to Entur as the ET-Client-Name header, per Entur's terms. Format like 'company-app'. Optional; a package default is used if unset.","format":"string","name":"ET_CLIENT_NAME"}]}],"tools":[{"name":"find_addresses_near","description":"Find all official addresses within a radius of a coordinate (Kartverket). Each result includes its distance from the point. Good for 'what is at this location?'.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":57,"maximum":72,"description":"Latitude in decimal degrees (WGS84). Norway spans about 57–72°N."},"longitude":{"type":"number","minimum":-2,"maximum":35,"description":"Longitude in decimal degrees (WGS84). Norway spans about 4–31°E."},"radius_m":{"default":100,"description":"Search radius in metres","type":"integer","minimum":1,"maximum":1000},"max_results":{"default":20,"description":"Maximum number of addresses to return","type":"integer","minimum":1,"maximum":50}},"required":["latitude","longitude"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"find_docking_stations","description":"Find shared-mobility docking stations (e.g. city bike stations) near a coordinate (Entur Mobility), with available vehicle and free-dock counts per station.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees (WGS84)"},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees (WGS84)"},"range_m":{"default":500,"description":"Search radius in metres","type":"integer","minimum":10,"maximum":3000},"count":{"default":10,"description":"Maximum number of stations to return","type":"integer","minimum":1,"maximum":50}},"required":["latitude","longitude"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"find_place_names_near","description":"Find the nearest official named features to a coordinate (Kartverket). Each result includes its feature type and distance from the point.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":57,"maximum":72,"description":"Latitude in decimal degrees (WGS84). Norway spans about 57–72°N."},"longitude":{"type":"number","minimum":-2,"maximum":35,"description":"Longitude in decimal degrees (WGS84). Norway spans about 4–31°E."},"radius_m":{"default":1000,"description":"Search radius in metres","type":"integer","minimum":1,"maximum":20000},"max_results":{"default":10,"description":"Maximum number of features to return","type":"integer","minimum":1,"maximum":50}},"required":["latitude","longitude"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"find_shared_vehicles","description":"Find free-floating shared vehicles (city bikes, e-scooters, car share, mopeds) near a coordinate across all Norwegian operators (Entur Mobility). Each result shows the operator, type, battery, and location.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees (WGS84)"},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees (WGS84)"},"range_m":{"default":300,"description":"Search radius in metres","type":"integer","minimum":10,"maximum":2000},"form_factors":{"description":"Filter by type. Common values: BICYCLE, SCOOTER, CAR, MOPED, CARGO_BICYCLE, OTHER.","type":"array","items":{"type":"string"}},"count":{"default":20,"description":"Maximum number of vehicles to return","type":"integer","minimum":1,"maximum":50}},"required":["latitude","longitude"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"find_stops_near","description":"Reverse-geocode a coordinate to the nearest public transport stop places (Entur), each with its distance. Use the returned IDs with the departure and trip tools.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees (WGS84)"},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees (WGS84)"},"radius_m":{"default":1000,"description":"Search radius in metres","type":"integer","minimum":1,"maximum":5000},"max_results":{"default":5,"description":"Maximum number of stops to return","type":"integer","minimum":1,"maximum":10}},"required":["latitude","longitude"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_departures","description":"Get the next departures from a stop place (Entur), including realtime delays and cancellations. Each departure shows line, destination, scheduled and expected times, delay, platform, and whether it is cancelled.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"stop_place_id":{"type":"string","pattern":"^NSR:StopPlace:\\d+$","description":"Entur Stop Place ID, e.g. 'NSR:StopPlace:59872'. Get one from resolve_stop_place."},"count":{"default":10,"description":"How many upcoming departures to return","type":"integer","minimum":1,"maximum":50}},"required":["stop_place_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_elevation","description":"Get the terrain elevation (metres above sea level) at a coordinate from the Norwegian national elevation model (Kartverket DTM). Covers mainland Norway.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":57,"maximum":72,"description":"Latitude in decimal degrees (WGS84). Norway spans about 57–72°N."},"longitude":{"type":"number","minimum":-2,"maximum":35,"description":"Longitude in decimal degrees (WGS84). Norway spans about 4–31°E."}},"required":["latitude","longitude"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_elevation_profile","description":"Sample the terrain elevation evenly along a path of coordinates (Kartverket DTM) and return the profile plus total distance, ascent, and descent. Useful for hikes and routes. Give the path vertices in order; `samples` controls resolution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"path":{"minItems":2,"maxItems":50,"type":"array","items":{"type":"object","properties":{"latitude":{"type":"number","minimum":57,"maximum":72,"description":"Latitude in decimal degrees (WGS84). Norway spans about 57–72°N."},"longitude":{"type":"number","minimum":-2,"maximum":35,"description":"Longitude in decimal degrees (WGS84). Norway spans about 4–31°E."}},"required":["latitude","longitude"]},"description":"Ordered path vertices (at least 2). The path is sampled evenly between them."},"samples":{"default":20,"description":"Number of evenly spaced points to sample along the whole path","type":"integer","minimum":2,"maximum":50}},"required":["path"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_fare_zones","description":"Get the fare (tariff) zone(s) a stop place belongs to (Entur). Fare zones set the ticket price for a journey.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"stop_place_id":{"type":"string","pattern":"^NSR:StopPlace:\\d+$","description":"Entur Stop Place ID, e.g. 'NSR:StopPlace:59872'. Get one from resolve_stop_place."}},"required":["stop_place_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_realtime_status","description":"Get a realtime health summary. For a stop, pass stop_place_id: it summarizes how many upcoming departures are on time, delayed, or cancelled. For a line, pass line_id: it reports how many vehicles are currently active and their delays.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"stop_place_id":{"description":"Stop Place ID for a stop-level summary","type":"string","pattern":"^NSR:StopPlace:\\d+$"},"line_id":{"description":"Line ID (e.g. 'ATB:Line:2_3', from get_departures) for a line-level summary","type":"string"}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_stop_accessibility","description":"Get accessibility information for a stop place (Entur): per-quay (platform) wheelchair access, and a summary. Note: Entur's free API exposes wheelchair access per quay; deeper equipment detail (elevators, tactile guidance) is only in Entur's authenticated Stop Register API and is not available here.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"stop_place_id":{"type":"string","pattern":"^NSR:StopPlace:\\d+$","description":"Entur Stop Place ID, e.g. 'NSR:StopPlace:59872'. Get one from resolve_stop_place."}},"required":["stop_place_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_vehicle_positions","description":"Get live positions of public transport vehicles (Entur realtime), filtered by operator codespace and/or line. Each vehicle shows its position, bearing, speed, and delay. Codespace examples: ATB (Trondheim), KOL (Stavanger), SKY (Bergen area). Get a line_id from get_departures.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"codespace_id":{"description":"Operator codespace, e.g. 'ATB'. Optional if line_id is given.","type":"string"},"line_id":{"description":"Line ID, e.g. 'ATB:Line:2_3'. Optional if codespace_id is given.","type":"string"},"max_results":{"default":50,"description":"Maximum number of vehicles to return","type":"integer","minimum":1,"maximum":200}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"list_quays","description":"List all quays (platforms/stopping points) at a stop place (Entur), with their public codes, coordinates, and wheelchair access.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"stop_place_id":{"type":"string","pattern":"^NSR:StopPlace:\\d+$","description":"Entur Stop Place ID, e.g. 'NSR:StopPlace:59872'. Get one from resolve_stop_place."}},"required":["stop_place_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"lookup_admin_unit","description":"Find which municipality (kommune) and county (fylke) a location falls in, with official codes (Kartverket). Give either a coordinate or a free-text address.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"type":"number","minimum":57,"maximum":72,"description":"Latitude in decimal degrees (WGS84). Norway spans about 57–72°N."},"longitude":{"type":"number","minimum":-2,"maximum":35,"description":"Longitude in decimal degrees (WGS84). Norway spans about 4–31°E."},"address":{"description":"Free-text address, used if no coordinate is given","type":"string","minLength":1}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"lookup_property","description":"Look up cadastral (matrikkel) identifiers for a property via the open address register (Kartverket): municipality number, gårdsnummer (gnr), bruksnummer (bnr), and festenummer. Give a free-text address or a coordinate. Full ownership data requires Kartverket's authenticated Matrikkel API; this returns the open address-linked identifiers.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"description":"Free-text address","type":"string","minLength":1},"latitude":{"type":"number","minimum":57,"maximum":72,"description":"Latitude in decimal degrees (WGS84). Norway spans about 57–72°N."},"longitude":{"type":"number","minimum":-2,"maximum":35,"description":"Longitude in decimal degrees (WGS84). Norway spans about 4–31°E."},"max_results":{"default":5,"description":"Maximum number of properties to return","type":"integer","minimum":1,"maximum":20}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"plan_trip","description":"Plan a point-to-point public transport journey in Norway (Entur JourneyPlanner). Give each endpoint either as a Stop Place ID or as coordinates. Optionally set a departure or arrival time, filter transport modes, and set walk speed. Returns trip patterns with legs, modes, durations, and realtime times.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"from_place":{"description":"Origin Stop Place ID (from resolve_stop_place)","type":"string"},"from_latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees (WGS84)"},"from_longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees (WGS84)"},"to_place":{"description":"Destination Stop Place ID","type":"string"},"to_latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees (WGS84)"},"to_longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees (WGS84)"},"date_time":{"description":"ISO 8601 time, e.g. '2026-08-24T09:00:00+02:00'. Defaults to now.","type":"string"},"arrive_by":{"default":false,"description":"If true, date_time is the desired arrival time instead of departure time","type":"boolean"},"transport_modes":{"description":"Restrict to these transit modes, e.g. ['bus','tram']. Omit for all modes.","type":"array","items":{"type":"string","enum":["air","bus","cableway","water","funicular","lift","rail","metro","taxi","tram","trolleybus","monorail","coach"]}},"walk_speed":{"description":"Walking speed in metres per second (default ~1.3)","type":"number","minimum":0.5,"maximum":3},"num_trip_patterns":{"default":3,"description":"How many alternative trips to return","type":"integer","minimum":1,"maximum":10}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"resolve_stop_place","description":"Turn a place or address into Entur Stop Place IDs (public transport stops/stations). Use the returned ID with the departure, trip, accessibility, quay, and fare-zone tools.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Place or stop name, e.g. 'Oslo S' or 'Bergen busstasjon'"},"max_results":{"default":5,"description":"Maximum number of stops to return","type":"integer","minimum":1,"maximum":10}},"required":["query"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"search_address","description":"Search official Norwegian addresses (Kartverket) and get coordinates. Use `query` for free text, or the specific fields for a structured search. Wildcards with `*` are supported (e.g. street 'Storg*'). Returns coordinates, postal code, municipality, and cadastral numbers for each match.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"Free-text address, e.g. 'Karl Johans gate 1, Oslo'. Supports the * wildcard.","type":"string","minLength":1},"street":{"description":"Street name (adressenavn). Supports the * wildcard.","type":"string"},"number":{"description":"House number (nummer)","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"postal_code":{"description":"Postal code (postnummer), e.g. '0155'","type":"string"},"municipality_number":{"description":"4-digit municipality code (kommunenummer), e.g. '0301' for Oslo","type":"string"},"max_results":{"default":10,"description":"Maximum number of matches to return","type":"integer","minimum":1,"maximum":50}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"search_place_names","description":"Search official Norwegian place names (Kartverket Sentralt stedsnavnregister). Returns each name's feature type (e.g. Fjell, Innsjø, By), municipality, county, and coordinates. Supports the * wildcard and corrects small spelling errors.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Place name to search for, e.g. 'Galdhøpiggen'. Supports the * wildcard."},"max_results":{"default":10,"description":"Maximum number of matches to return","type":"integer","minimum":1,"maximum":50}},"required":["query"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"transform_coordinates","description":"Convert a coordinate between reference systems using Kartverket's transformer. Give EPSG codes for source and target. Axis order: x is easting (longitude for geographic systems), y is northing (latitude). Common EPSG codes: 4326 WGS84, 4258 EUREF89 (both lon/lat), 25832 UTM32/EUREF89, 25833 UTM33, 25835 UTM35 (east/north in metres).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"x":{"type":"number","description":"Easting, or longitude for a geographic system (e.g. 4326/4258)"},"y":{"type":"number","description":"Northing, or latitude for a geographic system"},"from_epsg":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Source EPSG code, e.g. 4326"},"to_epsg":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Target EPSG code, e.g. 25833"}},"required":["x","y","from_epsg","to_epsg"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"validate_address","description":"Check whether a free-text address exists in the official register and return its normalized form with coordinates. Uses fuzzy matching, so it also corrects small spelling errors. Returns `valid`, the best normalized match, and alternatives.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","minLength":1,"description":"Address to validate, e.g. 'karl johans gt 1 oslo'"}},"required":["address"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":93,"grade":"A","scanned_at":"2026-09-21T13:06:54.056Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:06:54.106Z","components":{"code":{"score":25,"max":25,"notes":["8 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 623ms"]},"poisoning":{"score":15,"max":15,"notes":["21 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 28 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://norway-location-transport-mcp.met-mcp-worker.workers.dev/mcp","reachable":true,"authRequired":false,"latencyMs":623,"serverInfo":{"name":"norway-location-transport","version":"0.1.0"}}],"packages":[{"registryType":"npm","identifier":"norway-location-transport-mcp","version":"0.1.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-24T08:04:14.723Z","repositoryUrl":"git+https://github.com/trondbjoroy/norway-location-transport-mcp.git"}],"repo":{"found":true,"owner":"trondbjoroy","repo":"norway-location-transport-mcp","archived":false,"pushedAt":"2026-08-24T08:24:19Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/29145389?v=4","ownerCreatedAt":"2017-06-02T12:46:56Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/29145389?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-24T08:24:19.000Z","score":20}}}},"grade_history":[],"reviews":[]}