Berlin Transport

Acesse os dados de transporte público de Berlim através da API da VBB (Verkehrsverbund Berlin-Brandenburg).

Documentação

Servidor MCP Berlin Transport

Um servidor MCP que fornece acesso aos dados de transporte público de Berlim por meio da API VBB (Verkehrsverbund Berlin-Brandenburg). Este servidor encapsula a API v6.vbb.transport.rest.

Este servidor usa Code Mode: em vez de expor uma ferramenta MCP por operação da API, a API VBB é descrita como uma especificação OpenAPI e o servidor expõe exatamente duas ferramentas, search e execute. O modelo lê a especificação e, em seguida, escreve e executa um pequeno trecho de JavaScript em um Dynamic Worker em sandbox para chamar a API — o que escala muito melhor do que despejar todos os esquemas de ferramentas no contexto do modelo, e permite encadear várias chamadas (por exemplo, buscar uma parada e depois obter suas partidas) em uma única execução no sandbox.

Começando

npm install
npm run dev

Isso inicia um servidor local em http://localhost:8787/mcp.

npm run deploy

Isso implanta o Worker em uma URL como: berlin-transport-mcp.<your-account>.workers.dev/mcp.

Ferramentas disponíveis

  • search — Pesquise a especificação OpenAPI (codemode.spec()) para descobrir operações, parâmetros e formatos de resposta disponíveis antes de chamar a API.
  • execute — Execute um pequeno trecho de JavaScript assíncrono que chama codemode.request({ method, path, query }) contra a API VBB. O host faz o proxy da solicitação HTTP real; o sandbox não tem acesso direto à rede.

Operações subjacentes da API

A especificação OpenAPI exposta ao modelo cobre:

  • getLocations (GET /locations) — busca por paradas, estações, endereços e pontos de interesse.
  • getDepartures (GET /stops/{id}/departures) — próximas partidas de uma parada.
  • getJourneys (GET /journeys) — opções de viagem entre uma origem e um destino.

Para mais detalhes sobre a API subjacente, visite v6.vbb.transport.rest/getting-started.html.

Personalizando seu servidor MCP

A especificação OpenAPI passada para openApiMcpServer e a função de proxy request estão ambas em src/index.ts. Para encapsular uma API diferente:

  1. Atualize API_ORIGIN e openApiSpec com os caminhos/operações da nova API.
  2. Ajuste a função request se a API upstream precisar de métodos, cabeçalhos de autenticação ou tratamento de resposta diferentes.

Conecte-se ao Cloudflare AI Playground

Você pode se conectar ao seu servidor MCP a partir do Cloudflare AI Playground, que é um cliente MCP remoto:

  1. Vá para https://playground.ai.cloudflare.com/
  2. Insira a URL do seu servidor MCP implantado (berlin-transport-mcp.<your-account>.workers.dev/mcp)
  3. Agora você pode usar as ferramentas search e execute diretamente do playground!

Conecte o Claude Desktop ao seu servidor MCP

Você também pode se conectar ao seu servidor MCP remoto a partir de clientes MCP locais, usando o proxy mcp-remote.

Para conectar ao seu servidor MCP a partir do Claude Desktop, siga o Quickstart da Anthropic e, dentro do Claude Desktop, vá para Configurações > Desenvolvedor > Editar Configuração.

Atualize com esta configuração:

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

Reinicie o Claude e você verá as ferramentas search e execute ficarem disponíveis.