Kharkiv Metro MCP 服务器
使用说明(Markdown)
-
项目简介
- 该仓库实现了一个 MCP 服务器端,用于向 OpenCode/Claude 等 AI 客户端暴露哈尔科夫地铁的数据与功能接口。核心能力包括:托管资源、注册并执行工具、定义并渲染提示模板,并通过 JSON-RPC 与客户端通讯,支持多种传输(标准输入输出等)。
-
主要功能点
- MCP 服务器实现核心工具
- get_route:从起始站到目标站的路线查询,支持选定语言、时间、日类型、输出格式等参数。
- get_schedule:查询某站的日程安排,支持方向、日类型、语言等参数。
- list_stations:列出所有站点,按线路筛选可选。
- find_station:按名称进行模糊/别名查找。
- 基于 kharkiv_metro_core 的路由、数据库、解析、国际化等模块,整合成可对接 LLM 的后端。
- 通过 stdio 传输的 MCP 服务,兼容 JSON-RPC 客户端通信。
- MCP 服务器实现核心工具
-
安装步骤
- 准备 Python 环境(建议 Python 3.11 及以上)。
- 安装依赖(仓库中各包包含所需依赖,建议使用虚拟环境安装并安装 MCP 相关依赖)。
- 运行 MCP 服务端(示例命令在后文给出,参考仓库 README 的约定):通过 uv 运行服务器模块,指定工作目录指向仓库根,模块路径为 kharkiv_metro_rp.mcp.server。
-
服务器配置(MCP 客户端需要的配置,格式为 JSON;下列为准确示例,请按此结构配置) { "server": "kharkiv-metro", "type": "local", "enabled": true, "command": [ "uv", "run", "--directory", "/path/to/kharkiv-metro-rp", "python", "-m", "kharkiv_metro_rp.mcp.server" ], "args": [] } 注释:server 为 MCP 服务器标识名,command 为启动服务器的命令序列,args 为额外参数(若无则为空)。客户端在建立连接时仅需要 server、command 即可,无需深度修改。
-
基本使用方法
- 启动 MCP 服务器
- 将上述配置中的路径替换为实际路径,执行客户端提供的启动方式(如 uv run 方案)以启动服务器。
- 客户端连接与请求
- 客户端通过 JSON-RPC 发送请求给服务器,例如请求 get_route、get_schedule、list_stations、find_station 等工具。
- 查看响应
- MCP 服务器按工具定义的输入 Schema 验证请求并返回 JSON-RPC 响应,或文本形式的渲染文本。
- 运行与调试
- 如有需要,可在服务器端通过日志与调试输出了解内部路由与计划的过程。
- 启动 MCP 服务器
-
其他注意
- 服务器内部使用 kharkiv_metro_core 提供的路由、数据库、模型等核心逻辑,确保数据源、数据库初始化和调度信息的正确性。
- 该实现支持语言(ua/en)、日期类型(weekday/weekend)等灵活设置,便于将来在不同 LLM 场景下扩展。