| name | MCP 12306 火车票 |
| description | 12306 火车票查询、余票查询、车次查询工具。基于MCP协议的官方火车票查询服务,支持实时票价、余票、车次时刻等信息查询。 |
| triggers | ["火车票","查询火车","12306","购票","余票","车次","高铁"] |
| mcp | {"command":"uvx","args":["mcp-server-12306"]} |
12306 火车票查询 MCP 技能
功能说明
12306 MCP Server 提供中国铁路12306官方网站的火车票查询功能:
- 🚄 车次查询:查询两站之间的所有车次
- 💺 余票查询:实时查询各座位类型的余票情况
- 💰 票价查询:获取各座位类型的票价信息
- ⏰ 时刻表:查询列车发车和到达时间
- 🔄 中转查询:支持中转方案推荐
工具列表
1. search_trains - 车次查询
功能描述:查询指定日期两站之间的所有车次
参数说明:
| 参数 | 类型 | 必需 | 说明 |
|---|
| from_station | string | ✅ | 出发站(站名或电报码) |
| to_station | string | ✅ | 到达站(站名或电报码) |
| date | string | ✅ | 出发日期(YYYY-MM-DD) |
| purpose_codes | string | ❌ | 票种:ADULT(成人)/ STUDENT(学生) |
使用示例:
{
"from_station": "北京",
"to_station": "上海",
"date": "2026-03-10",
"purpose_codes": "ADULT"
}
2. query_ticket - 余票查询
功能描述:查询指定车次的余票情况
参数说明:
| 参数 | 类型 | 必需 | 说明 |
|---|
| train_no | string | ✅ | 车次号 |
| from_station | string | ✅ | 出发站 |
| to_station | string | ✅ | 到达站 |
| date | string | ✅ | 出发日期 |
返回字段:
- 各座位类型的余票数量(商务座、一等座、二等座等)
- 座位类型代码和名称
- 是否可购买标志
3. get_station_code - 站点代码查询
功能描述:获取站点名称对应的电报码
参数:
用途:车次查询需要使用站点电报码
配置方式
方式一:NPX 运行(推荐)
{
"mcpServers": {
"12306-mcp": {
"command": "npx",
"args": ["-y", "12306-mcp"]
}
}
}
方式二:HTTP 服务模式
npx -y 12306-mcp --port 3000
{
"mcpServers": {
"12306-mcp": {
"url": "http://localhost:3000/mcp"
}
}
}
方式三:Docker 部署
docker run -i --rm 12306-mcp
使用场景
1. 查询车次
用户:帮我查一下明天从北京到上海的高铁
助手:[调用 search_trains 工具查询车次列表]
2. 查看余票
用户:G1次列车还有票吗?
助手:[调用 query_ticket 查询余票情况]
3. 学生票查询
用户:帮我查学生票
助手:[设置 purpose_codes=STUDENT 查询]
触发时机
- 用户询问火车票、高铁相关信息
- 需要查询列车时刻表
- 需要了解余票情况
- 计划出行需要购票信息
座位类型说明
| 代码 | 名称 | 说明 |
|---|
| SWZ | 商务座 | 最高级别座位 |
| ZY | 一等座 | - |
| ZE | 二等座 | 常见座位 |
| GR | 高级软卧 | 卧铺 |
| RW | 软卧 | 卧铺 |
| YW | 硬卧 | 卧铺 |
| RZ | 软座 | - |
| YZ | 硬座 | 最经济 |
最佳实践
1. 先查站点代码
station_code = get_station_code("北京西")
trains = search_trains(
from_station="BXP",
to_station="SHH",
date="2026-03-10"
)
2. 日期格式
- 使用 YYYY-MM-DD 格式
- 可查询未来15天内的车票
3. 查询时机
- 早上8点更新最新数据
- 节假日票源紧张,建议提前查询
注意事项
⚠️ 重要提示:
- 本工具仅提供查询功能,不支持在线购票
- 数据来源于12306官网,实时性可能有延迟
- 节假日期间查询频率建议适度控制
- 学生票需确认学生资质有效
常见问题
Q: 查询返回空结果?
A: 可能原因:
- 日期超出可查询范围(15天内)
- 站点名称不正确
- 该日期无车次运行
Q: 如何区分站点代码?
A: 使用 get_station_code 工具查询:
- 北京站 → BJP
- 北京西站 → BXP
- 上海站 → SHH
- 上海虹桥站 → AOHHQ
Q: 余票显示"有"但无法购买?
A: 可能原因:
- 网络延迟导致数据未同步
- 车票已被其他用户锁定
- 需要登录12306账号才能购买
官方资源
更新时间: 2026-03-08
版本: 1.0