关于 SL – Stockholm public transport
SL – Stockholm public transport 是面向斯德哥尔摩 SL 公共交通出行的 MCP 服务,可查询实时发车、交通中断并规划路线,提供站台、延误和车站出口信息,使用 SL 无需密钥的开放 API。
主要功能
- 01搜索站点并容忍拼写错误
- 02查看实时发车与延误
- 03查询已公告的交通中断
- 04规划前往站点或地址的路线
- 05按交通方式和步行量筛选
适用场景
- 01查询下一班车及站台
- 02规划前往街道地址的路线
- 03查看线路是否发生中断
MCP 相关
向 MCP 客户端提供站点搜索、发车查询、交通中断查询和行程规划工具。可使用托管的 Streamable HTTP 服务,也可本地安装。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://sl-mcp.miltonlindblad.workers.dev/mcpclaude mcp add --transport http hashtagsmile-sl https://sl-mcp.miltonlindblad.workers.dev/mcp{"mcpServers":{"hashtagsmile-sl":{"type":"http","url":"https://sl-mcp.miltonlindblad.workers.dev/mcp"}}}在 Cursor 中打开{"servers":{"hashtagsmile-sl":{"type":"http","url":"https://sl-mcp.miltonlindblad.workers.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"hashtagsmile-sl":{"type":"http","url":"https://sl-mcp.miltonlindblad.workers.dev/mcp"}}}{"mcpServers":{"hashtagsmile-sl":{"serverUrl":"https://sl-mcp.miltonlindblad.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
sl-mcp
一款面向斯德哥尔摩公共交通(SL)的 MCP 服务。将其连接到 Claude 或其他 MCP 客户端,即可使用瑞典语或英语询问出发信息、服务中断情况和行程。
När går nästa tunnelbana från Slussen mot Ropsten?
Är det några störningar på röda linjen?
How do I get from Odenplan to Arlanda?
Hur tar jag mig från Sundbyberg till Götgatan 76?
它使用 SL 的开放 API,无需 API 密钥。
回答示例如下:
08:31 从 Sundbybergs centrum 出发,08:58 即可抵达 Götgatan 76。
- 08:31 乘坐开往 Kungsträdgården 的地铁 10 号线,从站台 2出发。乘坐 7 站到 T-Centralen。
- 08:47 换乘开往 Skarpnäck 的地铁 17 号线,从站台 4出发。乘坐 3 站到 Medborgarplatsen。
- 08:52–08:58 从Folkungagatan Götgatan 出口出站,步行 6 分钟到 Götgatan 76。
无需安装即可使用
Cloudflare Workers 上运行着一个托管服务。无需 API 密钥或登录:
https://sl-mcp.miltonlindblad.workers.dev/mcp
将其添加为 claude.ai 或 ChatGPT 中的自定义连接器,也可以添加到支持 Streamable HTTP 的任何 MCP 客户端中。在 Claude Code 中:
claude mcp add --transport http sl https://sl-mcp.miltonlindblad.workers.dev/mcp
工具
find_stop:按名称搜索站点,支持拼写错误,并获取站点 IDget_departures:查询站点的实时出发信息,包括站台或公交站字母、延误和取消情况。可按交通方式、线路或目的地筛选get_disruptions:按线路、交通方式或地铁线路颜色(“grön linje”)查询已公告的服务中断情况,例如轨道施工、电梯故障和替代巴士plan_trip:规划最多 3 条站点或街道地址之间的行程,可指定出发或抵达时间。每段乘车信息显示站台、站点、拥挤程度和延误;每段步行信息显示所需分钟数及应使用的车站出口。可指定只使用某些交通方式(例如船),也可选择最少换乘或最少步行
提示词
可在客户端中选择的预设问题,例如作为斜杠命令:
trip:查询从一个地点到另一个地点的路线,可选择指定抵达时间departures:查询某个站点的下一班车
安装
需要 Node.js 20 或更高版本。
git clone https://github.com/Hashtagsmile/sl-mcp.git
cd sl-mcp
npm install
npm run build
Claude Code
claude mcp add sl -- node /path/to/sl-mcp/dist/index.js
Claude Desktop
将以下内容添加到 claude_desktop_config.json,然后重启 Claude Desktop:
{
"mcpServers": {
"sl": {
"command": "node",
"args": ["/path/to/sl-mcp/dist/index.js"]
}
}
}
开发
npm run dev # compile on save
npm test # run the tests
npm run inspect # try the tools in the MCP Inspector
测试使用 test/fixtures/ 中记录的 API 响应,因此不会调用 SL。
部署到 Cloudflare Workers
src/worker.ts 通过 HTTP 在 /mcp 提供相同的工具。
npx wrangler dev # run it locally on http://localhost:8787/mcp
npx wrangler deploy # deploy to your Cloudflare account
限制
- SL 每条线路、每个方向最多返回 3 个出发信息。
- 服务中断消息只有瑞典语。
- 没有“最近站点”搜索功能,因为 SL 没有无需密钥的相关 API。
- SL 无法规划无障碍路线。对于轮椅出行,工具会建议选择步行较少的路线,并检查电梯是否故障。
- 地址可用,商家名称不可用:“Götgatan 76”可用,“Sellpy”不可用。
- 出发信息最多可查询未来 3 小时。更晚的行程请使用
plan_trip并指定时间。
数据
数据由 SL 提供,通过 Trafiklab 获取。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。