关于 caltrain-mcp
这是面向 Caltrain 乘客的远程 MCP 服务,使用 Caltrain 官方 GTFS 时刻表查询列车班次。它可查找站点间的后续列车、换乘方案和全天时刻表,并在支持 MCP Apps 的客户端中显示交互式时刻表。
主要功能
- 01查询站点间后续列车
- 02查找可在 9 点前抵达的末班车
- 03提供换乘路线
- 04识别常见站名缩写
- 05交互式全天时刻表与筛选
适用场景
- 01查询两站之间下一班车
- 02寻找 9 点前抵达的路线
- 03规划需要换乘的行程
- 04按快车、有限停站或普通列车筛选时刻表
MCP 相关
提供无需认证的 Streamable HTTP MCP 端点,并向客户端开放只读的 `next_trains`、`list_stations` 和 `get_timetable` 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Caltrain MCP
一个远程 MCP 服务,会准确告诉你下一班 Caltrain 什么时候发车,让你精确了解它晚点了多久。它基于 Caltrain 官方 GTFS 时刻表运行,因此失望也是官方的。
服务:https://caltrain-mcp-rho.vercel.app/mcp(Streamable HTTP,无需身份验证)。在 caltrain-mcp-rho.vercel.app 查看在线演示。

在 ChatGPT 和其他 MCP Apps 宿主中,回答会附带交互式时刻表。点击一班列车可查看停靠站,或打开全天时刻表并使用 Express / Limited / Local 筛选器,还可以继续询问屏幕上显示的内容。其他地方则会以文本形式提供相同的回答。
它了解什么
- 两个车站之间的下一班列车,或还能让你在 9 点前到达的末班列车。
- 12:05 AM 的列车属于前一天,感恩节按周末时刻表运行,而 South County 周末没有列车。
- 没有直达列车时在哪里换乘。
sf、sj和22nd都是车站,因为没人会输入“San Francisco Caltrain Station”。
工具:next_trains、list_stations 和 get_timetable(只有时刻表视图会调用它)。全部为只读。
开发
npm install
npm run dev # http://localhost:3000, MCP at /mcp
npm test
这是一个运行在 Vercel 上的 Next.js 项目:
- 时刻表引擎:
lib/schedule.ts。 - 时刻表视图:
widget/,使用 React、Tailwind 和 shadcn,并打包为一个 HTML 文件。 - 数据源:
data/gtfs/。GitHub Action 每周获取一份最新数据并创建 PR,合并后即部署。
视图发生变化时,请更新 lib/mcp/constants.ts 中的 TIMETABLE_URI。ChatGPT 的缓存比你想象的更顽固。
PyPI 上旧的 Python 包(uvx caltrain-mcp)仍可安装,但已停止维护。请使用上面的 URL。
许可证
LICENSE.md。使用 Caltrain 官方 GTFS 数据;与 Caltrain 无关。列车晚点的话,请找他们理论。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。