瑞士公共交通查询服务

一个通过opendata.ch Transport API查询瑞士公共交通信息的服务器,覆盖火车、巴士、电车和船只,无需API密钥。

  • by McCullonas
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 McCullonas/mcp-sbb-transport

使用说明

mcp-sbb传输

瑞士公共交通查询的MCP服务器 opendata.ch传输API. 涵盖瑞士各地的火车、公共汽车、有轨电车和船只-无需API密钥。

状态: 准备就绪


先决条件

  • 包子 运行时间(curl -fsSL https://bun.sh/install | bash)
  • 无需API密钥-使用公共opendata.ch传输API

安装

git clone git@github.com:McCullonas/mcp-sbb-transport.git
cd mcp-sbb-transport
bun install

可用工具

sbb_search_stations

按名称搜索瑞士公共交通车站。

参数:

  • query --车站名称(例如。 "Zürich HB", "Bern", "Luzern")
  • limit (可选) --最大结果(默认值10)

返回:站ID、名称和坐标。

sbb_get_connections

在两个瑞士车站之间获得火车/公共交通连接。

参数:

  • from --始发站名称或ID
  • to --目的站名称或ID
  • date (可选) --日期为 YYYY-MM-DD (默认值:今天)
  • time (可选) --时间为 HH:MM (默认值:现在)
  • isArrivalTime (可选) --如果为真, time 是期望的到达时间吗
  • limit (可选) --要返回的连接数(默认值4)

返回:出发/到达时间、持续时间、换乘次数、站台号、行程段。

sbb_get_stationboard

获取瑞士车站的出发或到达板。

参数:

  • station --车站名称或ID
  • datetime (可选) --ISO 8601日期时间(默认值:现在)
  • type (可选) — "departure" 或 "arrival" (默认:出发)
  • limit (可选) --条目数(默认值10)

返回:运输类别(IC、IR、S、巴士等)、线路号、目的地/出发地、预定时间、站台。


MCP客户端配置

添加到您的 settings.json:

{
  "mcpServers": {
    "sbb-transport": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-sbb-transport/src/index.ts"]
    }
  }
}

不需要环境变量。


发展

bun run src/index.ts
bun build src/index.ts --outdir dist --target node

数据源

使用 opendata.ch瑞士交通API,社区经营 开放数据服务。免费使用,无需注册。数据来自SBB、PostBus、, 州运营商和其他瑞士公共交通提供商。


许可证

麻省理工学院