使用说明

项目简介

Indian Railway MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它提供了一系列工具,允许LLM(如 Claude Desktop)访问和查询印度铁路的实时信息,包括列车搜索、座位可用性、列车信息、实时状态、延误信息、车站代码和列车代码查询等功能。这个服务器旨在作为一个桥梁,连接LLM客户端和印度铁路数据,使得用户可以通过自然语言与LLM交互,便捷地获取所需的铁路信息。

主要功能点

  • 资源 (Resources) 托管和管理: 虽然该仓库没有显式地定义和管理“资源”,但它通过工具访问和处理铁路数据,可以被视为一种资源访问能力的体现。
  • 工具 (Tools) 注册和执行: 仓库实现了多个工具,例如 'Search-trains', 'Get-seat-availability', 'Get-train-info' 等,这些工具允许 LLM 客户端调用以获取特定铁路信息。
  • Prompt 模板 (Prompts) 定义和渲染: 仓库没有明确定义 Prompt 模板,但返回的格式化文本响应可以被视为预定义的 Prompt 输出,旨在直接用于 LLM 交互。
  • JSON-RPC 协议通信: 服务器通过 Streamable HTTP Transport 接收和响应 MCP 客户端的 JSON-RPC 请求。
  • 会话管理和能力声明: MCP SDK 提供了会话管理和能力声明的基础设施,虽然仓库代码中没有显式配置,但默认包含了这些功能。
  • 支持 Streamable HTTP 传输协议: 仓库使用 '@modelcontextprotocol/sdk/server/streamableHttp.js' 实现了 Streamable HTTP 传输协议,可以与支持该协议的 MCP 客户端进行通信。

安装步骤

  1. 安装 'mcp-remote' 客户端 (全局安装):

    由于 Streamable HTTP 仍在开发中,需要安装 'mcp-remote' 的 next 版本:

    npm i -g mcp-remote@next

服务器配置

要将此 MCP 服务器连接到 MCP 客户端(例如 Claude Desktop),您需要在客户端配置中指定服务器的启动命令和参数。

对于 Claude Desktop,配置步骤如下:

  1. 打开 Claude Desktop,进入 'Settings' → 'Developer' → 'Edit Config'。

  2. 将以下 JSON 配置添加到或替换 'config.json' 文件的内容。 这个配置定义了一个名为 "railways" 的 MCP 服务器:

{
  "mcpServers": {
    "railways": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://railway-mcp.amithv.xyz/mcp"
      ]
    }
  }
}
  • 'mcpServers': 定义可用的 MCP 服务器。
  • '"railways"': 为该 MCP 服务器定义的名称,可以自定义。
  • '"command": "npx"': 指定用于启动 MCP 服务器的命令,这里使用 'npx' 来运行 'mcp-remote'。
  • '"args"': 启动命令的参数列表:
    • '"-y"': 'npx' 参数,自动确认安装 'mcp-remote' 包。
    • '"mcp-remote"': 要执行的 npm 包,'mcp-remote' 客户端工具,用于连接远程 MCP 服务器。
    • '"https://railway-mcp.amithv.xyz/mcp"': 关键参数,远程 MCP 服务器的 URL。指向 'indian-railway-mcp' 仓库部署的服务器地址。
  1. 重启 Claude Desktop 使配置生效。

基本使用方法

配置完成后,在 Claude Desktop 中,您就可以使用以下工具来查询印度铁路信息了。 例如,您可以向 Claude 提问:

  • 'searchTrains from ERS to SBC on 20250415' (搜索 2025 年 4 月 15 日从 ERS 到 SBC 的列车)
  • 'getSeatAvailability for train 12617 from NDLS to MAS' (查询 12617 次列车从 NDLS 到 MAS 的座位可用性)
  • 'getTrainInfo for train 12617' (获取 12617 次列车的详细信息)
  • 'getTrainLiveStatus for train 12617 on 2025-04-15' (查询 2025 年 4 月 15 日 12617 次列车的实时状态)
  • 'getTrainDelayInfo for train 12617 for last month' (查询 12617 次列车过去一个月的延误信息)
  • 'getStationCode for New Delhi' (查询“New Delhi”车站的代码)
  • 'getTrainCode for Rajdhani Express' (查询 “Rajdhani Express” 列车的代码)
  • 'live station for NDLS' (查询 NDLS 车站的实时列车信息)

Claude 将会调用相应的工具,并将格式化后的结果以文本形式返回给您。

信息

分类

网页与API