配置指南 · 更新日期 2026-09-03 · 来源版本 d4ac43f
配置 China Rail MCP
面向新手的完整路径:先选择客户端,再完成连接,并用一次真实铁路查询确认可用。不需要 12306 账号,也不要求编程经验。
不需要登录 12306。 此服务器只读取公开的行程规划数据,绝不会购票。
用简单语言理解三个词
- MCP
- 一种标准,让 AI 客户端可以调用另一个程序提供的工具。
- stdio
- 本地连接方式:桌面客户端在同一台电脑上启动 MCP 程序。
- 远程 MCP
- 托管在 HTTPS 上的连接方式,供云端客户端以及受支持的手机应用使用。
选择需要的步骤
不熟悉命令行?交给 AI 完成
选择本地 stdio。AI 客户端会在同一台电脑上启动 China Rail MCP。
适合: 这是最简单、最安全的首次配置方式,不需要公网服务器、域名或密钥。
需要准备
- 支持本地 stdio 的桌面 MCP 客户端
- Git
- Node.js 20 或更高版本
- npm 10 或更高版本
可能的费用
China Rail MCP 本身免费;AI 客户端或模型提供商可能另外收费。
操作步骤
- 选择支持本地 stdio 的桌面客户端。千问 Code(Qwen Code)、TRAE 和 Claude Desktop 都是常见方案;安装前先看客户端指南。
- 把下面的 AI 配置请求完整复制给能够操作终端和文件的编程 AI。
- 安装缺失软件、重启应用或修改设置时,只在 AI 说明影响后再允许。
- 不要把“构建通过”当成完成;必须从已配置客户端实际调用 get_provider_status 并查询车次。
把下面整段请求复制给编程 AI
AI 应直接执行配置并验证结果,而不是只给你一份教程。
请在这台电脑上安装并配置 China Rail MCP,直到我能在当前使用的 AI 客户端中实际查询中国铁路数据。项目地址:https://github.com/TakeruF/china-rail-mcp
请直接执行操作,不要只给教程。先识别操作系统、AI/MCP 客户端,以及 Git、Node.js、npm 是否可用。若目标客户端不明确,只问我这一个问题。阅读最新 README 和自托管指南。安装软件、使用管理员权限、重启图形界面应用或修改安全设置前,先说明影响并征得同意。
把仓库克隆到稳定位置,不要覆盖现有工作。运行 npm ci 和 npm run verify。取得 Node.js 和 dist/index.js 的绝对路径,按照当前客户端真实支持的格式添加名为 china-rail 的本地 stdio 服务器,并保留全部现有设置。本地模式不需要 .env、12306 账号、Cookie 或密钥,不要向我索取。
按需重新加载客户端。必须从已配置客户端调用 get_provider_status,用 search_stations 查询“上海虹桥”,再查询售票窗口内上海虹桥到杭州东的车次。区分“本地连接正常”和“12306 实时查询暂时失败”。最后只报告安装位置、修改的客户端配置、验证结果、真实 MCP 工具调用结果,以及一个之后可以直接询问的问题。不要提交或推送仓库改动。
想自己操作?
在终端依次运行这些命令,再把 dist/index.js 的绝对路径填入客户端的 stdio MCP 配置。
git clone https://github.com/TakeruF/china-rail-mcp.git
cd china-rail-mcp
npm ci
npm run verify
满足以下条件才算完成
- npm run verify 通过
- 客户端能列出 China Rail MCP 或其六个工具
- 能从客户端调用 get_provider_status
- 能从客户端完成一次当前车站或车次查询
出现问题时
- npm start 没有输出通常是正常的:stdio 服务器正在通过标准输入输出等待客户端。
- 若客户端找不到 Node.js,请使用 command -v node 返回的绝对路径。
- 若只有实时查询失败,MCP 连接仍可能正常;请分别检查 provider status 和当前 12306 可用性。
想在手机上使用?让 AI 部署私人服务器
选择私人远程部署。AI 客户端会通过 HTTPS 连接 China Rail MCP。
适合: 适合手机或多设备使用,但账号、托管、认证和费用条件更多。
需要准备
- GitHub 和 Vercel 账号
- 支持自定义远程 MCP 的 AI 客户端账号
- 固定 HTTPS 部署
- 私人认证和 OAuth
可能的费用
China Rail MCP 免费,但托管、模型用量或客户端所需套餐可能收费。
操作步骤
- 先查看客户端兼容性指南。并非所有普通聊天应用都能添加任意自定义 MCP。
- 把下面的远程配置请求完整复制给能够操作浏览器和终端的编程 AI。
- 账号登录、创建云项目、产生费用或进入 Production 前,先了解影响再确认。
- 分别验证部署、账号连接和手机工具调用,不能用前一项推断后一项。
把下面整段请求复制给编程 AI
AI 应直接执行配置并验证结果,而不是只给你一份教程。
请把 China Rail MCP 部署为仅供我个人使用的远程服务,并一直完成到我能在手机上的 AI 客户端实际查询中国铁路数据。项目地址:https://github.com/TakeruF/china-rail-mcp
请直接执行操作,不要只给教程。阅读最新 README、自托管指南和当前客户端的官方远程 MCP 文档。确认我的 GitHub、Vercel 和 AI 客户端账号是否具备所需功能。产生费用、创建云项目、登录账号或进入 Production 前,先说明影响并征得同意。
安全克隆仓库,运行 npm ci 和 npm run verify,不要修改或推送源码。创建个人 Vercel 项目。生成唯一且强度足够的 MCP_HTTP_BEARER_TOKEN,只存为隐藏的 Production 环境变量。绝对不要把它显示在源码、.env、Git、聊天、截图、日志或最终报告中。
部署当前 main 到 Production,并使用固定 HTTPS 主机名。运行 npm run smoke:http -- https://实际主机/api,确认 health 和 OAuth 元数据返回 200,未认证的 /api/mcp 按预期返回带发现信息的 401;这个 401 表示认证已生效。
按照当前客户端真实支持的流程连接 https://实际主机/api/mcp 并完成 OAuth。先在网页或桌面端调用 get_provider_status 和 search_stations,再用同一账号在手机新对话中启用连接,查询售票窗口内上海虹桥到杭州东的车次。分别报告部署成功、账号连接成功和手机工具调用成功。不要通过公开服务器或移除认证来绕过限制。最后只报告项目名、不含密钥的 HTTPS MCP URL、部署和工具调用结果、可能收费的位置,以及撤销访问的方法。
远程配置必须达到什么结果
实现仓库提供准确的部署和 OAuth 细节。请逐项确认以下里程碑。
npm ci
npm run verify
npm run smoke:http -- https://你的主机/api
在受支持的 AI 客户端中连接 https://你的主机/api/mcp
满足以下条件才算完成
- Production 部署和未认证冒烟测试通过
- OAuth 完成,网页或桌面客户端能调用工具
- 同一账号能在手机上看到连接
- 能从手机新对话实际调用工具
出现问题时
- 若 /api/mcp 的未认证 401 带有发现信息,这是预期结果。
- 部署成功不代表账号或手机应用一定支持自定义 MCP。
- 手机端不可用时,检查客户端版本、账号套餐、地区、逐步开放状态和工作区策略;不要关闭认证。
请保持这些边界
- China Rail MCP 只读,不登录、不购票、不处理验证码,也不绕过限制。
- 本地模式绝不需要 12306 账号、用户 Cookie、API key 或 .env 文件。
- 远程部署必须保持私有,不要把 bearer 密钥粘贴到聊天或提交到仓库。
- 上游公开格式和可用性可能变化,重要出行信息请在 12306 官方渠道再次核对。
确认 AI 客户端是否支持
套餐、地区和支持的连接方式会变化。付费或部署前,请查看带核对日期的兼容性表。