火车查询服务

该服务为捷克铁路提供火车线路、站点和票价的搜索功能,适用于旅行规划和票价查询。

  • by JanProvaznik
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 JanProvaznik/cd-mcp

使用说明

cd mcp

捷克铁路(Českédráhy)API的MCP(模型上下文协议)服务器。

该服务器为人工智能助手提供工具,用于搜索捷克铁路网络上的列车连接、车站和价格。

特性

  • 搜索地点:查找捷克铁路网中的火车站和城市
  • 搜索连接:搜索两个车站之间的列车连接
  • 获取连接详细信息:获取特定连接的详细信息
  • 获取乘客类型:列出可用的乘客类型和折扣类别
  • 获取价格优惠:获取连接的定价信息

安装

npm install
npm run build

用法

使用克劳德桌面

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "cd-mcp": {
      "command": "node",
      "args": ["/path/to/cd-mcp/dist/index.js"]
    }
  }
}

与MCP检查员一起

npx @modelcontextprotocol/inspector node dist/index.js

发展

npm run dev

可用工具

搜索位置

按名称搜索火车站和城市。

参数:

  • query (字符串,必填):搜索查询(例如,“Praha”、“Brno”)
  • type (字符串,可选):位置类型过滤器(例如,“车站”、“城市”)

搜索连接

搜索两个车站之间的列车连接。

参数:

  • from (字符串,必填):出发站
  • to (字符串,必填):到达站
  • departure (字符串,必填):ISO 8601格式的出发日期/时间
  • passengers (数字,可选):乘客数量(1-9,默认值:1)

get_connection_details

获取特定连接的详细信息。

参数:

  • handle (字符串,必填):上次搜索的连接搜索句柄
  • connectionId (字符串,必填):连接标识符

get_passenger_types

获取可用的乘客类型和折扣类别。

参数: 无

get_price_offer

获取连接的价格优惠(只读,不预订门票)。

参数:

  • connectionId (字符串,必填):连接标识符
  • passengers (数组,必填):乘客类型和数量数组

设计决策

作为首席建筑师,做出了以下设计决策:

  1. 只读操作:服务器只公开读取操作(搜索、获取详细信息、定价)。出于安全原因,预订、付款和退款操作被故意排除在外——这些操作需要用户通过官方渠道明确操作。

  2. 标准运输:使用stdio传输与Claude Desktop等MCP客户端进行简单集成。如果需要,可以添加HTTP传输。

  3. 错误处理:所有工具都包括正确的错误处理和返回用户友好的错误消息。

  4. 类型安全性:具有API响应的正确类型定义的完整TypeScript实现。

  5. 格式化:使用表情符号和结构化文本输出对结果进行格式化,以提高可读性。

api参考

该服务器与捷克铁路票务API接口:

  • 文档:https://ticket-api.cd.cz/swaggerUI/cdapi-1.0.0.yml
  • 基本URL:https://ticket-api.cd.cz/api/v1

许可证

麻省理工学院