mcpField
B
Berlin Transport MCP Server

Berlin Transport MCP Server

本地服务
github.com/harshil1712地图与出行613 周前更新

关于 Berlin Transport MCP Server

Berlin Transport MCP Server 通过 VBB API 将 MCP 客户端接入柏林公共交通数据。其双工具 Code Mode 可供模型发现 API 操作,并在沙盒中运行可串联请求的 JavaScript 代码。

主要功能

  1. 01搜索 VBB 站点和地点
  2. 02查询出发班次和行程
  3. 03发现 OpenAPI 操作
  4. 04执行沙盒 JavaScript
  5. 05串联多个 API 请求

适用场景

  1. 01查找柏林站点或兴趣点
  2. 02查看即将出发的班次
  3. 03规划地点间的行程

MCP 相关

向 MCP 客户端提供 `search` 和 `execute` 工具。服务通过 OpenAPI 规范描述 VBB 操作,并代理沙盒代码发出的请求。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"berlin-transport": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
启动命令npx -y mcp-remote

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-remote

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

柏林交通 MCP 服务

一个 MCP 服务,可通过 VBB(Verkehrsverbund Berlin-Brandenburg)API 访问柏林公共交通数据。此服务封装了 v6.vbb.transport.rest API。

此服务使用 Code Mode:它不会为每个 API 操作单独提供一个 MCP 工具,而是将 VBB API 描述为 OpenAPI 规范,并且仅提供 search 和 execute 两个工具。模型读取规范后,会在沙盒化的 Dynamic Worker 中编写并运行一段简短的 JavaScript 代码来调用 API。与将每个工具的架构都塞进模型的上下文窗口相比,这种方式的扩展性要好得多,还能让模型在一次沙盒运行中串联多个调用(例如,搜索一个站点,然后获取该站点的出发信息)。

开始使用

npm install
npm run dev

这会在 http://localhost:8787/mcp 启动本地服务。

npm run deploy

这会将 Worker 部署到类似 berlin-transport-mcp.<your-account>.workers.dev/mcp 的 URL。

可用工具

  • search — 搜索 OpenAPI 规范(codemode.spec()),以便在调用 API 前了解可用操作、参数和响应结构。
  • execute — 运行一段简短的异步 JavaScript 代码,通过 codemode.request({ method, path, query }) 调用 VBB API。实际的 HTTP 请求由主机代理;沙盒无法直接访问网络。
底层 API 操作

向模型公开的 OpenAPI 规范涵盖以下操作:

  • getLocations(GET /locations)— 搜索站点、车站、地址和兴趣点。
  • getDepartures(GET /stops/{id}/departures)— 获取站点即将出发的交通班次。
  • getJourneys(GET /journeys)— 获取出发地和目的地之间的行程选项。

有关底层 API 的更多详情,请访问 v6.vbb.transport.rest/getting-started.html。

自定义 MCP 服务

传递给 openApiMcpServer 的 OpenAPI 规范和 request 代理函数都位于 src/index.ts 中。如需封装其他 API:

  1. 使用新 API 的路径和操作更新 API_ORIGIN 和 openApiSpec。
  2. 如果上游 API 需要不同的方法、身份验证标头或响应处理方式,请调整 request 函数。

连接到 Cloudflare AI Playground

你可以从 Cloudflare AI Playground 连接到 MCP 服务;它是一个远程 MCP 客户端:

  1. 前往 https://playground.ai.cloudflare.com/
  2. 输入已部署的 MCP 服务 URL(berlin-transport-mcp.<your-account>.workers.dev/mcp)
  3. 现在,你可以直接在 Playground 中使用 search 和 execute 工具了!

将 Claude Desktop 连接到 MCP 服务

你也可以使用 mcp-remote proxy,从本地 MCP 客户端连接到远程 MCP 服务。

如需从 Claude Desktop 连接到 MCP 服务,请按照 Anthropic 的快速入门指南 操作,并在 Claude Desktop 中前往 Settings > Developer > Edit Config。

使用以下配置更新:

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

重启 Claude 后,你应该会看到 search 和 execute 工具已可用。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。