项目简介
这是一个基于 Model Context Protocol (MCP) 构建的后端服务,它封装了查询12306火车票的功能。通过实现MCP协议,这个服务可以被兼容MCP的客户端(如大型语言模型应用)调用,以获取实时的火车票信息。
主要功能点
- 火车票查询: 根据出发日期、出发城市和到达城市,查询可用的火车班次、时刻、历时以及各类座席的余票信息(包括价格)。
- 城市匹配: 支持通过城市名称查找对应的车站编码。
安装步骤
- 克隆仓库: 使用 Git 命令将项目代码克隆到本地。
git clone https://github.com/other-blowsnow/mcp-server-chinarailway.git - 进入项目目录:
cd mcp-server-chinarailway - 安装依赖: 使用 npm、yarn 或 pnpm 安装项目所需的依赖包。
npm install # 或者 yarn install # 或者 pnpm install
服务器配置 (供MCP客户端使用)
该服务默认配置为通过标准输入输出 (Stdio) 进行通信,这是MCP客户端连接本地进程服务器的常见方式。
MCP客户端需要配置启动此服务器的命令。标准的配置信息大致如下(具体格式取决于MCP客户端实现,但核心信息是一致的):
- 服务器名称: '12306票次查询'
- 传输协议 (Transport): 'stdio'
- 启动命令 (Command): 用于执行服务器脚本的命令,通常是 'node'。
- 命令参数 (Args): 传递给启动命令的参数,指向服务器主脚本文件。对于这个项目,参数是 'server.js'。
注意: 实际在MCP客户端中进行配置时,您只需要填入对应的命令和参数,例如:
- Command: 'node'
- Args: '["server.js"]'
- Name: '12306票次查询'
客户端会自动处理与服务器的连接和MCP协议通信。
基本使用方法
服务器启动后,它将等待MCP客户端连接并通过Stdio发送JSON-RPC请求。主要的互动方式是客户端调用服务器提供的“工具”。
对于这个服务,核心工具是 'search'。MCP客户端可以通过调用此工具并提供以下参数来执行火车票查询:
- 'date': 查询的出发日期,格式为 'YYYY-MM-DD'。
- 'fromCity': 出发城市名称。
- 'toCity': 到达城市名称。
服务器接收到调用请求后,会执行实际的查询逻辑,并通过Stdio将查询结果(火车班次列表、时刻、余票等信息)以JSON-RPC响应的形式返回给客户端。
信息
分类
网页与API