12306火车票查询服务

mcp_12306是一个基于MCP协议的12306火车票查询服务端项目,支持通过自然语言或API查询中国铁路12306的余票信息、车站代码等,并支持Redis缓存加速查询。

  • by zhengzcg315
  • 更新于
在 GitHub 查看 relishLeisure/mcp_12306

使用说明

基本能力

产品定位

mcp_12306是一个基于MCP协议的12306火车票查询服务端项目,旨在提供高效、便捷的火车票查询服务。

核心功能

  • 火车票余票查询:支持指定出发站、到达站、出发日期、乘客类型(成人/学生)等参数,查询12306实时余票信息。
  • 车站代码/名称查询:可根据车站中文名查询对应的12306车站代码,或反查车站名称。
  • Redis缓存支持:查询结果可自动缓存到Redis,提升高频查询性能。
  • MCP工具集成:以工具(tool)的形式对外暴露接口,便于LLM/自动化系统集成。
  • 命令行参数灵活:支持自定义服务端口、传输方式(stdio/sse)、是否启用Redis等。

适用场景

  • 需要快速查询火车票余票信息的用户。
  • 需要获取车站代码或名称的开发者和系统集成者。
  • 需要高频查询火车票信息的自动化系统。

工具列表

  • query_tickets:查询火车票信息。
  • get_station_code:获取车站代码。
  • get_station_name:获取车站名称。

使用教程

使用依赖

uv pip install mcp-12306

安装教程

启动Redis(可选)

如需启用Redis缓存,需先启动本地Redis服务(默认端口6379)。

# Linux
redis-server

# Windows(需提前安装Redis for Windows或Memurai)
redis-server.exe

启动服务

python启动

进入mcp_12306目录后,使用以下命令启动服务:

python -m mcp_12306 --redis 6379
uvx启动

不带Redis启动:

uvx mcp-12306

带Redis启动:

uvx mcp-12306 --redis 6379

调试方式

启动服务后,可以通过调用提供的工具(如query_tickets、get_station_code、get_station_name)进行调试。具体命令取决于集成环境。