12306
STREAMABLE HTTP中国铁路12306票务查询MCP服务器
中国铁路12306票务查询MCP服务器
12306 MCP Server 是一款基于 Model Context Protocol (MCP) 的高性能火车票查询后端,支持官方 12306 余票、车站、经停、换乘查询以及智能时间工具,适配 AI/自动化/智能助手等场景。界面友好,易于集成,开箱即用。
# 克隆项目 git clone https://github.com/drfccv/mcp-server-12306.git cd mcp-server-12306 # 安装依赖 uv sync # 更新车站信息(必须先执行) uv run python scripts/update_stations.py # 启动服务器 uv run python scripts/start_server.py
# 直接拉取已构建镜像 docker pull drfccv/mcp-server-12306:latest # 运行容器(映射8000端口) docker run -d -p 8000:8000 --name mcp-server-12306 drfccv/mcp-server-12306:latest
如需自定义开发或本地修改后再打包,可用如下命令自行构建镜像:
docker build -t drfccv/mcp-server-12306:latest .
复制 .env.example 为 .env 并按需修改:
cp .env.example .env
{ "mcpServers": { "12306": { "url": "http://localhost:8000/mcp" } } }
| 工具名 | 典型场景/功能描述 |
|---|---|
| query_tickets | 余票/车次/座席/时刻一站式查询 |
| search_stations | 车站模糊搜索,支持中文/拼音/简拼 |
| get_station_info | 获取车站详情(名称、代码、地理等) |
| query_transfer | 一次中转换乘方案,自动拼接最优中转 |
| get_train_route_stations | 查询指定列车经停站及时刻表 |
| get_current_time | 获取当前时间与相对日期,帮助用户准确选择出行日期 |
本项目所有主流程工具的详细功能、实现与使用方法,均已收录于 /docs 目录下:
每个文档包含:
如需二次开发或集成,建议先阅读对应工具的文档。
src/mcp_12306/ # 主源代码
├─ server.py # FastAPI主入口
├─ services/ # 业务逻辑(车票/车站/HTTP)
├─ models/ # 数据模型
├─ utils/ # 工具与配置
scripts/ # 启动与数据脚本
uv run pytest
docker pull drfccv/mcp-server-12306:latest
docker run -d -p 8000:8000 --name 12306-mcp-server drfccv/mcp-server-12306:latest
MIT License