Skip to main content
Glama

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-laget

Bruk 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

ET_CLIENT_NAME

fredrsat-ruter-connector

Entur ber alle konsumenter identifisere seg med en ET-Client-Name-header på formen firma-applikasjon. Sett din egen hvis du kjører dette selv.

Datakilder og lisens

Dataene er lisensiert under NLOD av Entur. Koden i dette repoet er MIT-lisensiert, se LICENSE.

Available Tools

2 tools
avgangerSanntidsavgangerA

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

    A3.9/5.0

    Scored across 2 tools

    Disambiguation5/5

    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.

    Naming Consistency3/5

    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.

    Tool Count3/5

    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.

    Completeness3/5

    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

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides 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 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables 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.
      3
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Connects 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.
      10
      52 PyPI
      MIT