NS Travel Information Server 使用说明

项目简介

NS Travel Information Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 LLM 客户端(如 Claude)提供访问荷兰铁路(Nederlandse Spoorwegen - NS)实时信息的能力。通过此 MCP 服务器,AI 助手可以查询并提供关于荷兰火车出行的各种实用信息。

主要功能点

  • 实时列车信息: 获取列车出发和到达的实时信息,包括站台号、延误情况和出行提示。
  • 行程规划: 查询两站之间的最优火车路线,包含换乘信息和实时更新。
  • 服务更新: 查询铁路网络上的服务中断、维护工作和工程活动等信息。
  • 票价信息: 获取单程和往返车票的准确价格,支持不同旅行等级和折扣选项的查询。
  • 车站信息: 获取全面的车站信息,包括设施、无障碍设施、站台布局、OV-fiets(自行车租赁)可用性及位置信息。
  • OV-fiets 可用性: 查询火车站 OV-fiets 自行车租赁点的可用情况。

安装步骤

本服务器提供了多种安装方式,您可以根据自己的需求选择合适的方式。以下以 Claude 桌面客户端为例,介绍如何安装和配置 NS Travel Information Server。

方法一:使用 Claude Desktop 与 NPM Package

  1. 配置 Claude 配置文件: 打开 Claude 桌面应用的配置文件 '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS) 或对应的配置目录 (Windows/Linux)。

  2. 添加 MCP 服务器配置: 在 'mcpServers' 字段下添加 'ns-server' 的配置信息,如下所示:

    {
      "mcpServers": {
        "ns-server": {
          "command": "npx",
          "args": [
            "-y",
            "ns-mcp-server"
          ],
          "env": {
            "NS_API_KEY": "your_api_key_here"
          }
        }
      }
    }
  3. 获取 NS API 密钥: 访问 NS API Portal 注册并获取 API 密钥。

  4. 替换 API 密钥: 将 '"your_api_key_here"' 替换为您在 NS API Portal 获取的真实 API 密钥。

  5. 重启 Claude Desktop: 重启 Claude 桌面应用,配置即可生效。

方法二:使用 Smithery (自动化安装)

如果您使用 Smithery 工具,可以使用以下命令快速安装:

npx -y @smithery/cli install ns-server --client claude

方法三:从源代码安装

  1. 克隆仓库: 使用 'git clone https://github.com/r-huijts/ns-mcp-server' 命令克隆仓库到本地。

  2. 安装依赖: 在仓库根目录下运行 'npm install' 安装项目依赖。

  3. 复制环境变量文件: 复制 '.env.example' 文件并重命名为 '.env':'cp .env.example .env'。

  4. 配置 API 密钥: 编辑 '.env' 文件,将 'NS_API_KEY=your_api_key_here' 中的 'your_api_key_here' 替换为您的 NS API 密钥。

  5. 配置 Claude 配置文件: 参考 方法一 的步骤 1 和 2,将 'ns-server' 的配置信息添加到 'claude_desktop_config.json',使用以下配置,并根据实际安装路径修改 'args' 中的路径:

    {
      "mcpServers": {
        "ns-server": {
          "command": "node",
          "args": [
            "/path/to/ns-server/build/index.js"
          ],
          "env": {
            "NS_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    • 将 '/path/to/ns-server' 替换为您本地仓库的实际路径。
    • 将 '"your_api_key_here"' 替换为您在 NS API Portal 获取的真实 API 密钥。
  6. 重启 Claude Desktop: 重启 Claude 桌面应用,配置即可生效。

服务器配置 (Claude Desktop 客户端配置)

以下 JSON 配置信息用于配置 MCP 客户端 (如 Claude Desktop) 连接 NS Travel Information Server。您需要将此配置添加到 MCP 客户端的配置文件中。

{
  "mcpServers": {
    "ns-server": {  // 服务器名称,客户端使用此名称引用
      "command": "npx",  // 启动服务器的命令,这里使用 npx 运行 npm 包
      "args": [  // 传递给命令的参数
        "-y",   // 自动确认执行 npm 包
        "ns-mcp-server"  // 要执行的 npm 包名称,对应服务器入口
      ],
      "env": {  // 环境变量
        "NS_API_KEY": "your_api_key_here"  // NS API 密钥,**必须替换为您的真实密钥**
      }
    }
  }
}

注意:

  • 请务必将 '"your_api_key_here"' 替换为您在 NS API Portal 申请的 真实 NS API 密钥
  • 如果选择从源代码安装,'command' 和 'args' 的配置需要指向您本地安装的服务器代码路径。
  • 配置完成后,请重启 MCP 客户端以使配置生效。

基本使用方法

配置完成后,您可以在支持 MCP 协议的 AI 助手中使用自然语言查询荷兰铁路信息。以下是一些使用示例:

  • “从阿姆斯特丹到鹿特丹的火车时刻表”
  • “查询今天从乌特勒支出发的所有延误列车”
  • “海牙中央火车站的 OV-fiets 自行车可用吗?”
  • “阿姆斯特丹到鹿特丹的二等座票价是多少?”
  • “如果我想在早上 9 点前到达阿姆斯特丹南站,应该乘坐哪趟火车?”

AI 助手会将您的自然语言查询转换为对 NS Travel Information Server 的工具调用,并返回结构化的荷兰铁路信息。

信息

分类

网页与API