TfL MCP Server
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.
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 weiterhin2026-07-28aushandeln. 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.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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 |
| Aktueller Status und Störungen nach Verkehrsmittel |
|
| Live-Ankünfte an einer Haltestelle nach Name |
|
| Planen Sie eine Reise zwischen zwei Punkten |
|
| Santander-Cycles-Stationen auflisten |
|
| Live-Auslastungsgrad der Station nach Name |
|
| Fahrpreisinformationen zwischen zwei benannten Haltestellen |
|
Hinweis: Der Server verwendet intern den Endpunkt
/StopPoint/Search/{query}, um Haltestellennamen automatisch in NaPTAN-IDs für die Toolsarrivals,crowdingundfaresaufzulö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 |
| (keine) | TfL-API-Schlüssel – registrieren Sie sich unter api-portal.tfl.gov.uk |
| (keine) | TfL-App-ID – nur für ältere API-Registrierungen erforderlich, die sowohl eine ID als auch einen Schlüssel ausgegeben haben |
|
| Maximale JSON-Anforderungsgröße, die von Streamable HTTP akzeptiert wird |
|
| Streamable-HTTP-Anforderungszeitlimit in Millisekunden |
|
| 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.jsDas startet den stdio-Transport. Für zustandsloses Streamable HTTP:
cd node
HOST=127.0.0.1 PORT=8080 node dist/index.js --httpVerbinden 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 testDie 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:conformanceDie 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 contractTestErstellen 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
Unified API: https://api.tfl.gov.uk/
API-Portal / Schlüsselregistrierung: https://api-portal.tfl.gov.uk/
Swagger UI: https://api.tfl.gov.uk/swagger/ui/index.html
This server cannot be installed
Maintenance
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
- AlicenseCqualityDmaintenanceProvides real-time access to Transport for London data, enabling users to check tube line statuses, get disruption details, and plan journeys between London locations. Uses the official TfL Unified API to deliver live transport information through AI assistants.330MIT
- AlicenseBqualityFmaintenanceEnables AI clients to access Boston's MBTA public transit data, including real-time predictions, schedules, route planning, and service alerts.321Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to access real-time Transport for London data, including tube/bus arrivals, line status, journey planning, and disruptions.1
- AlicenseBqualityDmaintenanceProvides real-time Transport for London journey data, including routes, alerts, and disruptions, allowing AI assistants to search journeys and get station information.1234ISC
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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