ruter-connector
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ruter-connector When does the next 19 tram leave Jernbanetorget?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ruter-connector
Er bussen i rute? En MCP-server som gir AI-agenter sanntidsdata for norsk kollektivtrafikk — buss, trikk, t-bane, tog og båt.
Dataene hentes fra Enturs åpne API-er, dit Ruter og alle andre norske kollektivselskaper publiserer rutedata og sanntid. Det betyr at connectoren dekker hele Norge, ikke bare Ruter-området: Skyss i Bergen, AtB i Trondheim, Kolumbus i Stavanger, alle togselskapene — alt sammen. Ingen API-nøkkel kreves.
Verktøy
finn_stoppested
Søker etter holdeplass eller stasjon på navn og returnerer NSR-id-er (Nasjonalt
stoppestedsregister) som brukes videre i avganger.
{ "navn": "Nydalen", "antall": 2 }[
{ "id": "NSR:StopPlace:59605", "navn": "Nydalen", "sted": "Oslo, Oslo", "kategorier": ["metroStation", "onstreetBus"] },
{ "id": "NSR:StopPlace:31393", "navn": "Nydalen", "sted": "Bergen, Vestland", "kategorier": ["onstreetBus"] }
]avganger
Sanntidsavganger fra et stoppested: planlagt vs. forventet tid, forsinkelse i minutter, status og eventuelle avviksmeldinger. Kan filtreres på linjenummer og/eller destinasjon, og ta et starttidspunkt (ISO 8601) for oppslag frem i tid.
{ "stoppested_id": "NSR:StopPlace:58366", "linje": "19", "antall": 1 }{
"stoppested": "Jernbanetorget",
"stoppested_id": "NSR:StopPlace:58366",
"hentet": "11.9., 21:23",
"avganger": [
{
"linje": "19",
"transportmiddel": "trikk",
"destinasjon": "Majorstuen",
"plattform": "C",
"planlagt": "11.9., 21:27",
"forventet": "11.9., 21:29",
"forsinkelse_minutter": 3,
"sanntid": true,
"status": "3 min forsinket",
"operatoer": "Ruter",
"avvik": []
}
]
}status er én av: i rute, N min forsinket, innstilt eller
kun rutetid (ingen sanntidsdata) — det siste når avgangen ikke rapporterer sanntid ennå.
Typisk agentflyt: finn_stoppested("Jernbanetorget") → avganger("NSR:StopPlace:58366", linje: "19").
Related MCP server: trafikkmeldinger-mcp
Kom i gang
Krever Node.js 18+.
git clone https://github.com/fredrsat/ruter-connector.git
cd ruter-connector
npm install
npm run smoke # røyktest mot Entur uten MCP-lagetBruk med en MCP-klient
Serveren snakker MCP over stdio og fungerer med alle MCP-klienter (Claude Desktop, Claude Code, AI SDK, m.fl.):
{
"mcpServers": {
"ruter": {
"command": "npx",
"args": ["tsx", "/absolutt/sti/til/ruter-connector/src/index.ts"]
}
}
}I Claude Code: claude mcp add ruter -- npx tsx /absolutt/sti/til/ruter-connector/src/index.ts
Konfigurasjon
Miljøvariabel | Standard | Beskrivelse |
|
| Entur ber alle konsumenter identifisere seg med en |
Datakilder og lisens
Stoppestedssøk: Entur Geocoder
Avganger og sanntid: Entur JourneyPlanner v3 (GraphQL)
Dataene er lisensiert under NLOD av Entur. Koden i dette repoet er MIT-lisensiert, se LICENSE.
Available Tools
2 toolsavgangerSanntidsavgangerA
Hent avganger fra et stoppested med sanntidsinfo: planlagt vs. forventet tid, forsinkelse i minutter og eventuelle avviksmeldinger. Svarer på «er bussen i rute?». Bruk NSR-id fra finn_stoppested (f.eks. «NSR:StopPlace:58366»). Kan filtreres på linjenummer og/eller destinasjon.
Inputs: stoppested_id (required), linje, antall, tidspunkt, +1 more.
finn_stoppestedFinn stoppestedA
Søk etter holdeplass/stasjon i Norge etter navn (f.eks. «Jernbanetorget» eller «Nydalen»). Returnerer NSR-id-er som brukes i avganger-verktøyet. Bruk alltid dette først hvis du ikke kjenner id-en.
Inputs: navn (required), antall.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools serve clearly distinct purposes: one searches for stops by name, the other retrieves departures for a given stop. There is no overlap or ambiguity in their intended use.
The names follow mixed conventions: 'finn_stoppested' is a verb+noun phrase, while 'avganger' is a noun. This inconsistency makes the pattern less predictable, though both are descriptive.
Two tools is borderline thin for a transit connector. While they cover a basic workflow (find stop, get departures), the server name suggests a broader API surface that is not represented.
The core workflow of finding a stop and checking departures is covered, but notable gaps exist such as journey planning, line information, and location-based stop lookup, which are typical for a Ruter connector.
Maintenance
Related MCP Connectors
Norwegian trains, buses and ferries: live trips and departures (Entur). Free, no key.
Norwegian transport (Entur) and geodata (Kartverket): trips, departures, addresses, elevation.
Entur MCP — Norway public transport, nationwide, all modes (developer.entur.org)
Belgian trains for AI agents: live journeys, departures, delays, disruptions. Free, no key.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides access to Norway's nationwide public transport data (all modes) via the Entur API, enabling queries about routes, stops, and departures through natural language.156 npmMIT
- AlicenseAqualityBmaintenanceEnables querying Norwegian traffic messages (roadworks, closures, detours) from Statens vegvesen, filtered by route and time window. Supports both current and future travel times, with tools for route-based and general searches.3MIT
- AlicenseAqualityCmaintenanceEnables AI agents to access Norwegian public transport and geospatial data, including trip planning, stop departures, address search, elevation, and administrative boundaries, via the Entur and Kartverket APIs.2142 npmMIT

transcapi-mcpofficial
AlicenseAqualityBmaintenanceConnects AI assistants to live public transport data across Great Britain, enabling searches for stops and stations, real-time bus and rail departures, live vehicle positions, service disruptions, and door-to-door journey planning. All tools are read-only and require an API key.1052 PyPIMIT