12306 MCP 服务器是一个基于模型上下文协议(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 | 获取车站详情(名称、代码、地理位置等) |
| 一站式的中转行程,自动连接最佳中转 | |
| 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 许可证