Skip to main content
Glama

TfL MCP Server

Haftungsausschluss: Dies ist ein von der Community erstelltes Projekt. Es ist nicht mit Transport for London (TfL) verbunden, wird von TfL nicht unterstützt und steht in keiner Verbindung zu TfL. Dieses Projekt nutzt die öffentlich verfügbare TfL Unified API.

GitHub release License: MIT

Ein MCP-Server, der die TfL (Transport for London) Unified API als Tools bereitstellt und es KI-Assistenten wie Claude ermöglicht, Live-Daten zum Londoner Verkehr abzufragen.

Version 2 ist eine einzelne Node.js-22-Implementierung, die die MCP-Protokollrevision 2026-07-28 verwendet. Sie unterstützt stdio für lokale Hosts, npm und MCPB sowie zustandsloses Streamable HTTP unter /mcp für Remote-Bereitstellungen.

Protokollkompatibilität: Streamable HTTP ist nur für modernes MCP 2026-07-28. Der stdio-Einstiegspunkt akzeptiert auch Initialisierungen aus der 2025-Ära für Desktop-Hosts wie Codex, während moderne stdio-Clients weiterhin 2026-07-28 aushandeln. Legacy-HTTP/SSE wird nicht unterstützt.

Erste Schritte

Schritt 1 — Zu Claude Desktop hinzufügen

Öffnen Sie Ihre Claude-Desktop-Konfigurationsdatei:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Option A: Node.js MCPB (empfohlen)

Laden Sie tfl-mcp-server.mcpb von GitHub Releases herunter und installieren Sie es in Claude Desktop.

Option B: npm

Wenn Node.js 22 oder höher installiert ist, richten Sie Claude Desktop auf das veröffentlichte Paket aus:

{
  "mcpServers": {
    "tfl-mcp-server": {
      "command": "npx",
      "args": ["-y", "@oneill9/tfl-mcp-server@2.0.0"],
      "env": { "TFL_APP_KEY": "your_key_here" }
    }
  }
}

Option C: Docker

{
  "mcpServers": {
    "tfl-mcp-server": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "TFL_APP_KEY", "ghcr.io/oneill9/tfl-mcp-server:latest"]
    }
  }
}

Schritt 2 — Einen TfL-API-Schlüssel hinzufügen (empfohlen)

Ohne einen Schlüssel wendet TfL strenge Ratenbegrenzungen an, die die meisten realen Anwendungen beeinträchtigen. Registrieren Sie einen kostenlosen Schlüssel und übergeben Sie ihn über die Umgebungsvariable TFL_APP_KEY. Das -e TFL_APP_KEY im Docker-Beispiel leitet diesen Wert in den Container weiter:

"env": { "TFL_APP_KEY": "your_key_here" }

Schritt 3 — Starten Sie Claude Desktop neu und stellen Sie Fragen

Beispiel: „Läuft die Central Line normal?“, „Wann fährt der nächste Bus vom Oxford Circus?“

Für Quell-, Docker- und Streamable-HTTP-Optionen siehe docs/installation.md.

Related MCP server: MBTA MCP Server

Werkzeuge

Tool

Beschreibung

TfL-Endpunkt

service_status

Aktueller Status und Störungen nach Verkehrsmittel

GET /Line/Mode/{modes}/Status

arrivals

Live-Ankünfte an einer Haltestelle nach Name

GET /StopPoint/{naptan}/Arrivals

journey

Planen Sie eine Reise zwischen zwei Punkten

GET /Journey/JourneyResults/{from}/to/{to}

bike_points

Santander-Cycles-Stationen auflisten

GET /BikePoint

crowding

Live-Auslastungsgrad der Station nach Name

GET /Crowding/{naptan}/Live

fares

Fahrpreisinformationen zwischen zwei benannten Haltestellen

GET /StopPoint/{id}/FareTo/{targetId}

Hinweis: Der Server verwendet intern den Endpunkt /StopPoint/Search/{query}, um Haltestellennamen automatisch in NaPTAN-IDs für die Tools arrivals, crowding und fares aufzulösen.

MCP-Apps-UI

Das Tool service_status enthält Unterstützung für MCP Apps als progressive Verbesserung. UI-fähige Hosts (z. B. Claude Desktop) können eine interaktive Service-Status-Tafel neben der Textantwort rendern. Nicht-UI-Hosts erhalten weiterhin die Standard-Textausgabe.

  • Die Benutzeroberfläche ist in sich geschlossen (Inline-HTML/CSS, keine externen Ressourcen)

  • Strukturierte JSON-Daten werden zusammen mit dem Text-Fallback zurückgegeben

  • Keine zusätzliche Einrichtung erforderlich – die Host-Unterstützung wird automatisch erkannt

Siehe docs/tools.md für vollständige Details.

Authentifizierung

Der MCPB- und der Standard-Container-Modus verwenden stdio-Transport. Der optionale Streamable-HTTP-Modus implementiert kein OAuth oder eine andere serverseitige Authentifizierung; stellen Sie ihn nur hinter einer geeigneten vertrauenswürdigen Zugriffsebene bereit.

Die TfL-API verwendet einen einfachen API-Schlüssel (TFL_APP_KEY), den Sie als Umgebungsvariable angeben. Ein Schlüssel wird dringend empfohlen – ohne einen solchen wendet TfL strenge Ratenbegrenzungen an, die die meisten realen Anwendungen beeinträchtigen. Die Registrierung ist kostenlos. Für die Nutzung dieses MCP-Servers ist kein OAuth-Flow, keine Anmeldung oder kein Konto über das TfL-Portal hinaus erforderlich.

Konfiguration

Umgebungsvariable

Standard

Beschreibung

TFL_APP_KEY

(keine)

TfL-API-Schlüssel – registrieren Sie sich unter api-portal.tfl.gov.uk

TFL_APP_ID

(keine)

TfL-App-ID – nur für ältere API-Registrierungen erforderlich, die sowohl eine ID als auch einen Schlüssel ausgegeben haben

MCP_MAX_REQUEST_BODY_BYTES

1048576

Maximale JSON-Anforderungsgröße, die von Streamable HTTP akzeptiert wird

MCP_REQUEST_TIMEOUT_MS

30000

Streamable-HTTP-Anforderungszeitlimit in Millisekunden

MCP_HEADERS_TIMEOUT_MS

10000

Streamable-HTTP-Header-Zeitlimit in Millisekunden; darf das Anforderungszeitlimit nicht überschreiten

Ein API-Schlüssel wird dringend empfohlen – ohne einen solchen beeinträchtigen die strengen Ratenbegrenzungen von TfL die meisten realen Anwendungen. Die Registrierung ist kostenlos unter api-portal.tfl.gov.uk.

Ausführen aus dem Quellcode

Node.js 22 oder höher ist erforderlich. Installieren Sie aus der Lockfile und bauen Sie, bevor Sie den Server starten.

cd node
npm ci
npm run build
node dist/index.js

Das startet den stdio-Transport. Für zustandsloses Streamable HTTP:

cd node
HOST=127.0.0.1 PORT=8080 node dist/index.js --http

Verbinden Sie einen MCP-2026-07-28-Client mit http://127.0.0.1:8080/mcp. Setzen Sie MCP_ALLOWED_HOSTS auf eine durch Kommas getrennte Hostname-Whitelist, wenn Sie unter anderen Hostnamen bereitstellen.

Für die Verwendung mit Claude Desktop siehe docs/installation.md.

Testen

Unit-Tests verwenden einen Mock-HTTP-Server – kein Netzwerkzugriff oder API-Schlüssel erforderlich:

cd node && npm test

Die Streamable-HTTP-Abnahmetests sind in npm test enthalten. Führen Sie den offiziellen eingefrorenen MCP-2026-07-28-Anforderungssatz separat aus (optionale Erweiterungstests außerhalb dieses Satzes werden nicht bewertet):

cd node && npm run test:conformance

Die Konformitäts-Fixture registriert die echten Produktions-TfL-Tools und -Ressourcen über den gemeinsamen Nur-Modern-HTTP-Adapter. Sie fügt außerdem nur für Tests gedachte Diagnose-Tools, -Ressourcen, -Prompts und -Flows hinzu, die für die hartcodierten Sonden des Prüfers erforderlich sind; diese Diagnosen werden vom Produktions-Einstiegspunkt nicht bereitgestellt.

Vertragstests rufen die Live-TfL-API auf:

cd node && TFL_APP_KEY=your_key_here npm run contractTest

Erstellen und testen Sie die gepackten npm-CLI-, MCPB- und Container-Distributionen mit bash scripts/test-distributions.sh. Das Skript überspringt Containerprüfungen, wenn Docker nicht verfügbar ist.

Support

Bei Fragen, Fehlerberichten oder Funktionswünschen öffnen Sie bitte ein Issue auf GitHub Issues.

Datenschutzerklärung

Dieser MCP-Server fungiert als lokaler Proxy zwischen Ihrem KI-Assistenten und der TfL Unified API. Er erhebt, speichert oder überträgt keine personenbezogenen Daten über das hinaus, was zur Weiterleitung Ihrer Anfragen an TfL erforderlich ist.

  • Datenerhebung: Es werden keine Analysen oder Telemetrie erfasst. Begrenzte betriebliche Diagnosen werden auf Standardfehler geschrieben, aber vom Server nicht gespeichert; ein Host kann sie gemäß seiner eigenen Protokollierungsrichtlinie aufbewahren.

  • Nutzung und Speicherung: Anfragen werden in Echtzeit an TfL weitergeleitet und Antworten sofort zurückgegeben. Es werden keine Abfrageverläufe oder Ergebnisse gespeichert.

  • Weitergabe an Dritte: Anfragen werden an die TfL Unified API (api.tfl.gov.uk) weitergeleitet. Siehe TfLs Datenschutzerklärung für den Umgang von TfL mit API-Nutzungsdaten.

  • Datenaufbewahrung: Der Server speichert keine Daten und hält keinen Zustand zwischen Anfragen. Die vom Host verwaltete Aufbewahrung von Standardfehlern liegt außerhalb der Kontrolle des Servers.

  • Kontakt: Bei Datenschutzbedenken öffnen Sie ein Issue unter https://github.com/oneill9/tfl-mcp-server/issues.

Die vollständige Datenschutzerklärung ist unter PRIVACY.md verfügbar.

Compliance

Dieser Server wurde auf Einhaltung der Anthropic Software Directory Terms und der Anthropic Software Directory Policy überprüft. Siehe COMPLIANCE.md für die vollständige Konformitätserklärung und die Verpflichtungen der Betreuer.

TfL-API-Referenz

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
21hResponse time
1wRelease cycle
11Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • UK refunds inside your AI assistant: train delays, flights, TfL, parking. Made in London.

  • Read and update your Everway trips and itineraries from any MCP-compatible AI assistant.

  • Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oneill9/tfl-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server