项目简介

这是一个基于 Model Context Protocol (MCP) 构建的后端服务,它封装了查询12306火车票的功能。通过实现MCP协议,这个服务可以被兼容MCP的客户端(如大型语言模型应用)调用,以获取实时的火车票信息。

主要功能点

  • 火车票查询: 根据出发日期、出发城市和到达城市,查询可用的火车班次、时刻、历时以及各类座席的余票信息(包括价格)。
  • 城市匹配: 支持通过城市名称查找对应的车站编码。

安装步骤

  1. 克隆仓库: 使用 Git 命令将项目代码克隆到本地。
    git clone https://github.com/other-blowsnow/mcp-server-chinarailway.git
  2. 进入项目目录:
    cd mcp-server-chinarailway
  3. 安装依赖: 使用 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