Berlin Transport

Accede a los datos de transporte público de Berlín a través de la API de VBB (Verkehrsverbund Berlin-Brandenburg).

Documentación

Servidor MCP de Berlin Transport

Un servidor MCP que proporciona acceso a los datos de transporte público de Berlín a través de la API de VBB (Verkehrsverbund Berlin-Brandenburg). Este servidor envuelve la API v6.vbb.transport.rest.

Este servidor utiliza Code Mode: en lugar de exponer una herramienta MCP por operación de API, la API de VBB se describe como una especificación OpenAPI y el servidor expone exactamente dos herramientas, search y execute. El modelo lee la especificación, luego escribe y ejecuta un fragmento corto de JavaScript en un Dynamic Worker en sandbox para llamar a la API, lo que escala mucho mejor que volcar cada esquema de herramienta en la ventana de contexto del modelo, y le permite encadenar múltiples llamadas (por ejemplo, buscar una parada y luego obtener sus salidas) en una sola ejecución del sandbox.

Comenzar

npm install
npm run dev

Esto inicia un servidor local en http://localhost:8787/mcp.

npm run deploy

Esto despliega el Worker en una URL como: berlin-transport-mcp.<your-account>.workers.dev/mcp.

Herramientas disponibles

  • search — Busca en la especificación OpenAPI (codemode.spec()) para descubrir operaciones, parámetros y formas de respuesta disponibles antes de llamar a la API.
  • execute — Ejecuta un fragmento corto de JavaScript asíncrono que llama a codemode.request({ method, path, query }) contra la API de VBB. El host realiza el proxy de la solicitud HTTP real; el sandbox no tiene acceso directo a la red.

Operaciones subyacentes de la API

La especificación OpenAPI expuesta al modelo cubre:

  • getLocations (GET /locations) — búsqueda de paradas, estaciones, direcciones y puntos de interés.
  • getDepartures (GET /stops/{id}/departures) — salidas próximas para una parada.
  • getJourneys (GET /journeys) — opciones de viaje entre un origen y un destino.

Para más detalles sobre la API subyacente, visita v6.vbb.transport.rest/getting-started.html.

Personalizando tu servidor MCP

La especificación OpenAPI pasada a openApiMcpServer y la función de proxy request viven ambas en src/index.ts. Para envolver una API diferente:

  1. Actualiza API_ORIGIN y openApiSpec con las rutas/operaciones de la nueva API.
  2. Ajusta la función request si la API upstream necesita métodos, encabezados de autenticación o manejo de respuestas diferentes.

Conectar a Cloudflare AI Playground

Puedes conectar tu servidor MCP desde Cloudflare AI Playground, que es un cliente MCP remoto:

  1. Ve a https://playground.ai.cloudflare.com/
  2. Ingresa la URL de tu servidor MCP desplegado (berlin-transport-mcp.<your-account>.workers.dev/mcp)
  3. ¡Ahora puedes usar las herramientas search y execute directamente desde el playground!

Conectar Claude Desktop a tu servidor MCP

También puedes conectarte a tu servidor MCP remoto desde clientes MCP locales, usando el proxy mcp-remote.

Para conectarte a tu servidor MCP desde Claude Desktop, sigue la Guía de inicio rápido de Anthropic y dentro de Claude Desktop ve a Configuración > Desarrollador > Editar configuración.

Actualiza con esta configuración:

{
  "mcpServers": {
    "berlin-transport": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://berlin-transport.mcp-tools.app/mcp"  // or if local http://localhost:8787/mcp
      ]
    }
  }
}

Reinicia Claude y deberías ver que las herramientas search y execute están disponibles.