用途:作为 MCP 服务器,为 MCP 客户端(如 Claude Desktop)提供中国铁路 12306 的实时数据查询能力,涵盖车票、车站、价格、中转与列车时刻。
主要能力(工具):query_tickets 按出发站、到达站、日期(YYYY-MM-DD)和票种(ADULT 或 0X00 学生票)查询余票与席别;query_ticket_price 按车次、站码、席别码查询实时票价;search_stations 按中文、拼音或缩写模糊搜索车站;get_station_info 获取车站详情;query_transfer 查询一次中转路线;get_train_route_stations 查询车次全部停靠站与时刻;get_current_time 获取当前时间及今明等相对日期,便于确定可订票日期。
使用方式:Claude Desktop 推荐 Stdio 模式,在配置文件中加入 uvx 或 pipx 方式启动的命令,或从源码用 uv run python -m mcp_12306.cli。远程 HTTP 模式可克隆仓库后 uv sync 并运行 uv run python scripts/start_server.py,再配置 url 为 http://localhost:8000/mcp;也可用 Docker:docker run -d -p 8000:8000 --name mcp-server-12306 drfccv/mcp-server-12306:latest。
限制:使用默认公开接口,无需 API 密钥;HTTP 模式端口由 PORT 环境变量控制,默认 8000。车站库为预置数据,可用 scripts/update_station_data.py 更新。12306 通常仅允许提前 15-30 天订票,接口可能限流,中转查询请求较多需谨慎;车站匹配为精确匹配,建议先用 search_stations 确认站名。项目声明仅用于教育研究,需遵守中国法律与 12306 服务条款。