Skip to main content
Glama

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.

GitHub release License: MIT

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 negociando 2026-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.json

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

  • Linux: ~/.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

service_status

Estado actual e interrupciones por modo

GET /Line/Mode/{modes}/Status

arrivals

Llegadas en vivo a una parada por nombre

GET /StopPoint/{naptan}/Arrivals

journey

Planificar un viaje entre dos puntos

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

bike_points

Listar estaciones de acoplamiento de Santander Cycles

GET /BikePoint

crowding

Nivel de aglomeración en vivo de una estación por nombre

GET /Crowding/{naptan}/Live

fares

Información de tarifas entre dos paradas nombradas

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

Nota: El servidor utiliza el endpoint /StopPoint/Search/{query} internamente para resolver automáticamente los nombres de las paradas a IDs NaPTAN para las herramientas arrivals, crowding y fares.

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

TFL_APP_KEY

(ninguno)

Clave de API de TfL — regístrate en api-portal.tfl.gov.uk

TFL_APP_ID

(ninguno)

ID de aplicación de TfL — solo necesario para registros de API antiguos que emitieron tanto un ID como una clave

MCP_MAX_REQUEST_BODY_BYTES

1048576

Tamaño máximo del cuerpo de solicitud JSON aceptado por Streamable HTTP

MCP_REQUEST_TIMEOUT_MS

30000

Tiempo de espera de solicitud de Streamable HTTP en milisegundos

MCP_HEADERS_TIMEOUT_MS

10000

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.js

Eso inicia el transporte stdio. Para Streamable HTTP sin estado:

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

Conecta 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 test

Las 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:conformance

El 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 contractTest

Compila 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

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