Relay - Visual MCP Server Manager
使用说明 (简要概览)
-
项目简介 Relay 是一个桌面应用,采用 Rust(TAURI)为后端、Node/JS 组件为网关层,使用 SQLite 进行本地数据持久化。核心目标是实现一个 MCP 服务器(网关)来暴露并管理多个本地 MCP 服务的工具、资源和提示模板,方便 LLM 客户端通过统一接口访问。
-
主要功能点
- MCP 服务器核心能力:实现 JSON-RPC 的握手初始化、工具列表、工具调用、资源读取等接口,提供统一访问入口。
- 本地服务器管理:增删改查 MCP 服务器实例,启动/停止、启用状态、定时同步等。
- 安全与存储:通过本地数据库持久化配置,使用密钥链进行秘密管理,运行时对日志进行流式输出。
- 网关聚合:网关层通过标准输入输出(Stdio)与各个本地 MCP 服务器通信,聚合工具与资源信息,提供统一的 Tools/Resources 视图给客户端。
- 导出与导入:支持导出到 Claude Desktop、Cursor 等客户端的配置格式,或导出聚合后的 MCP 服务器列表。
- Marketplace 支持(前端 UI/后端服务组合):通过市场数据源获取 MCP 服务器模板,辅助快速组建环境。
-
安装步骤
- 安装所需开发环境:Rust、Node/NPM 或 PNPM、TAURI 相关工具、数据库支持(SQLite)等。
- 获取源码并安装依赖:下载代码后在根目录执行安装步骤(根据项目文档/包管理工具执行相应的依赖安装)。
- 构建与运行:使用 TAURI 打包构建成桌面应用,或在开发模式下启动后端服务与网关组件,确保配置文件 relay.json 及相关数据库初始化完成。
- 启动 MCP 客户端连接:将 MCP 客户端的配置指向 Relay Gateway(命令为启动网关脚本的执行命令,后面有示例配置)。
- 通过 UI/命令行查看日志、启动/停止服务器,以及执行工具调用与资源读取等操作。
-
服务器配置(MCP 客户端配置示例说明) MCP 客户端需要包含一个启动网关的命令及参数,以便建立与 MCP 服务器(Relay Gateway)的连接。以下为配置要点(非代码展示,JSON 结构描述):
- serverName: Relay Gateway
- command: node
- args: 路径指向已构建的网关脚本,例如 gateway.js 的实际路径(请根据实际安装路径填写)
- env(可选): 如需设置 RELAY_CONFIG_PATH(Relay Gateway 读取 relay.json 的路径)
说明:Relay Gateway 读取 relay.json,里面配置了要聚合的本地 MCP 服务器信息(名字、启动命令、参数、环境变量等),网关会通过 stdio 与这些后端进行通信并对外暴露工具、资源等信息。
示例(文本描述的 JSON 结构要点): { "serverName": "Relay Gateway", "command": "node", "args": ["path/to/gateway.js"] }
-
基本使用方法
- 启动网关并确保 Relay Gateway 能正确读取 relay.json,网关开启后会连接并管理配置的本地 MCP 服务器。
- 使用 MCP 客户端(如 Claude Desktop、Cursor 等)连接到 Relay Gateway 提供的工具、资源等入口,执行工具调用、列表工具、读取资源等操作。
- 可以通过 Relay 提供的导出/导入功能,将当前配置导出到其他客户端,方便跨平台使用。
- 监控日志输出,确保服务器实例的启动、停止与错误信息可追踪。
-
备注 该实现包含 Rust 后端服务、Tauri 框架的桌面应用、Node 网关组件,以及前后端协同工作以实现 MCP 服务聚合与暴露的完整流程。它不仅管理本地 MCP 服务器,还通过网关对外提供统一的 JSON-RPC 接口,以便 LLM 客户端无缝接入。