TfL MCP Server
TfL MCP Server
Aviso: Este es un proyecto creado por la comunidad. No está afiliado, respaldado ni conectado con Transport for London (TfL). Este proyecto consume la TfL Unified API disponible públicamente.
Un servidor MCP que expone la TfL (Transport for London) Unified API como herramientas, permitiendo a asistentes de IA como Claude consultar datos en vivo del transporte de Londres.
La versión 2 es una implementación única de Node.js 22 que utiliza la revisión de protocolo MCP 2026-07-28. Admite stdio para hosts locales, npm y MCPB, además de Streamable HTTP sin estado en /mcp para despliegues remotos.
Compatibilidad de protocolo: Streamable HTTP es solo moderno MCP
2026-07-28. El punto de entrada stdio también acepta inicialización de la era 2025 para hosts de escritorio como Codex, mientras que los clientes stdio modernos continúan negociando2026-07-28. No se admite HTTP/SSE heredado.
Primeros pasos
Paso 1 — Añadir a Claude Desktop
Abre tu archivo de configuración de Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Opción A: Node.js MCPB (recomendado)
Descarga tfl-mcp-server.mcpb desde GitHub Releases e instálalo en Claude Desktop.
Opción B: npm
Con Node.js 22 o posterior instalado, apunta Claude Desktop al paquete publicado:
{
"mcpServers": {
"tfl-mcp-server": {
"command": "npx",
"args": ["-y", "@oneill9/tfl-mcp-server@2.0.0"],
"env": { "TFL_APP_KEY": "your_key_here" }
}
}
}Opción C: Docker
{
"mcpServers": {
"tfl-mcp-server": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "TFL_APP_KEY", "ghcr.io/oneill9/tfl-mcp-server:latest"]
}
}
}Paso 2 — Añadir una clave de API de TfL (recomendado)
Sin una clave, TfL aplica límites de tasa estrictos que afectarán a la mayoría de los usos reales. Registra una clave gratuita y pásala mediante la variable de entorno TFL_APP_KEY. El ejemplo de Docker -e TFL_APP_KEY reenvía este valor al contenedor:
"env": { "TFL_APP_KEY": "your_key_here" }Paso 3 — Reinicia Claude Desktop y empieza a hacer preguntas
Ejemplo: "¿Está funcionando la línea Central con normalidad?", "¿Cuándo es el próximo autobús desde Oxford Circus?"
Para opciones de fuente, Docker y Streamable HTTP, consulta docs/installation.md.
Related MCP server: MBTA MCP Server
Herramientas
Tool | Descripción | TfL Endpoint |
| Estado actual e interrupciones por modo |
|
| Llegadas en vivo a una parada por nombre |
|
| Planificar un viaje entre dos puntos |
|
| Listar estaciones de acoplamiento de Santander Cycles |
|
| Nivel de aglomeración en vivo de una estación por nombre |
|
| Información de tarifas entre dos paradas nombradas |
|
Nota: El servidor utiliza el endpoint
/StopPoint/Search/{query}internamente para resolver automáticamente los nombres de las paradas a IDs NaPTAN para las herramientasarrivals,crowdingyfares.
Interfaz de MCP Apps
La herramienta service_status incluye soporte para MCP Apps como una mejora progresiva. Los hosts con capacidad de UI (por ejemplo, Claude Desktop) pueden mostrar un panel interactivo de estado del servicio junto con la respuesta de texto. Los hosts sin UI continúan recibiendo la salida de texto estándar.
La UI es autónoma (HTML/CSS en línea, sin recursos externos)
Los datos JSON estructurados se devuelven junto con el respaldo de texto
No se requiere configuración adicional — la compatibilidad del host se detecta automáticamente
Consulta docs/tools.md para obtener todos los detalles.
Autenticación
El modo MCPB y el modo contenedor predeterminado utilizan transporte stdio. El modo opcional Streamable HTTP no implementa OAuth ni ninguna otra autenticación del lado del servidor; despliégalo solo detrás de una capa de acceso confiable adecuada.
La API de TfL utiliza una clave de API simple (TFL_APP_KEY) que proporcionas como variable de entorno. Una clave es muy recomendable — sin ella, TfL aplica límites de tasa estrictos que afectarán a la mayoría de los usos reales. El registro es gratuito. No se requiere flujo OAuth, inicio de sesión ni cuenta más allá del portal de TfL para usar este servidor MCP.
Configuración
Variable de entorno | Predeterminado | Descripción |
| (ninguno) | Clave de API de TfL — regístrate en api-portal.tfl.gov.uk |
| (ninguno) | ID de aplicación de TfL — solo necesario para registros de API antiguos que emitieron tanto un ID como una clave |
|
| Tamaño máximo del cuerpo de solicitud JSON aceptado por Streamable HTTP |
|
| Tiempo de espera de solicitud de Streamable HTTP en milisegundos |
|
| Tiempo de espera de cabecera de Streamable HTTP en milisegundos; no debe exceder el tiempo de espera de solicitud |
Se recomienda encarecidamente una clave de API — sin ella, los estrictos límites de tasa de TfL afectarán a la mayoría de los usos reales. El registro es gratuito en api-portal.tfl.gov.uk.
Ejecutar desde el código fuente
Se requiere Node.js 22 o posterior. Instala desde el archivo de bloqueo y compila antes de iniciar el servidor.
cd node
npm ci
npm run build
node dist/index.jsEso inicia el transporte stdio. Para Streamable HTTP sin estado:
cd node
HOST=127.0.0.1 PORT=8080 node dist/index.js --httpConecta un cliente MCP 2026-07-28 a http://127.0.0.1:8080/mcp. Establece MCP_ALLOWED_HOSTS a una lista de nombres de host permitidos separados por comas cuando se sirva bajo otros nombres de host.
Para usar con Claude Desktop, consulta docs/installation.md.
Pruebas
Las pruebas unitarias utilizan un servidor HTTP simulado — no se requiere acceso a la red ni clave de API:
cd node && npm testLas pruebas de aceptación de Streamable HTTP están incluidas en npm test. Ejecuta el conjunto de requisitos MCP 2026-07-28 oficial congelado por separado (las sondas de extensión opcionales fuera de ese conjunto no se puntúan):
cd node && npm run test:conformanceEl fixture de conformidad registra las herramientas y recursos reales de producción de TfL a través del adaptador HTTP compartido solo moderno. También añade herramientas, recursos, prompts y flujos de diagnóstico solo para pruebas necesarios para las sondas codificadas del árbitro; esos diagnósticos no están expuestos por el punto de entrada de producción.
Las pruebas de contrato llaman a la API de TfL en vivo:
cd node && TFL_APP_KEY=your_key_here npm run contractTestCompila y prueba de humo las distribuciones empaquetadas de npm CLI, MCPB y contenedor con bash scripts/test-distributions.sh. El script omite las comprobaciones de contenedor cuando Docker no está disponible.
Soporte
Para preguntas, informes de errores o solicitudes de funciones, abre un problema en GitHub Issues.
Política de privacidad
Este servidor MCP actúa como un proxy local entre tu asistente de IA y la TfL Unified API. No recopila, almacena ni transmite ningún dato personal más allá de lo necesario para reenviar tus consultas a TfL.
Recopilación de datos: No se recopilan análisis ni telemetría. Se escriben diagnósticos operativos limitados en el error estándar, pero el servidor no los persiste; un host puede conservarlos según su propia política de registro.
Uso y almacenamiento: Las consultas se reenvían a TfL en tiempo real y las respuestas se devuelven inmediatamente. No se persiste ningún historial de consultas ni resultados.
Intercambio con terceros: Las solicitudes se reenvían a la TfL Unified API (
api.tfl.gov.uk). Consulta la política de privacidad de TfL para saber cómo maneja TfL los datos de uso de la API.Retención de datos: El servidor no retiene ningún dato y no mantiene estado entre solicitudes. La retención del error estándar gestionada por el host está fuera del control del servidor.
Contacto: Para preocupaciones de privacidad, abre un problema en https://github.com/oneill9/tfl-mcp-server/issues.
La política de privacidad completa está disponible en PRIVACY.md.
Cumplimiento
Este servidor ha sido revisado para cumplir con los Anthropic Software Directory Terms y la Anthropic Software Directory Policy. Consulta COMPLIANCE.md para la declaración de cumplimiento completa y los compromisos de los mantenedores.
Referencia de la API de TfL
API unificada: https://api.tfl.gov.uk/
Portal de API / Registro de clave: 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