Seren MCP 服务器实现
使用说明
- 项目简介 Seren Desktop 中的 MCP 服务器实现提供了对 MCP(Model Context Protocol)的原生支持,能够托管资源、注册工具、执行工具、以及定义和渲染提示模板,以便与大语言模型客户端以标准化的 JSON-RPC 方式进行上下文交互。
- 主要功能点
- MCP 服务器管理:能够启动、停止、重启本地/嵌入式 MCP 服务器实例,以及管理服务器进程信息。
- 资源与工具访问:提供读取资源、列出工具、调用工具、读取资源等 MCP 服务器核心能力。
- 支持多种连接方式:支持本地 IPC/STDIO 形式的 MCP 服务器,以及通过 HTTP/WebSocket 的远程 MCP 服务器连接。
- 与 Seren 生态整合:通过嵌入式运行时路径、OAuth、技能、记忆等模块实现统一的上下文服务与能力声明。
- 安全与会话管理:提供会话管理、权限和能力声明,确保对工具的调用有可控的审批与审计能力。
- 安装步骤
- 克隆仓库并进入项目根目录。
- 安装并构建依赖(项目包含前端与 Rust 后端,以及 MCP 集成所需的本地服务工具)。
- 使用根目录提供的脚本或服务命令启动 Seren Desktop,确保所需 MCP 服务脚本/二进制可用(如 Playwright MCP 脚本),并按需配置环境变量。
- 将需要的本地 MCP 服务器以配置文件 JSON 的形式添加到客户端(见下方配置示例),客户端启动后即可连接并使用 MCP 服务。
- 服务器配置(MCP 服务器配置面向 MCP 客户端使用者;MCP 客户端需要的仅是描述服务器的启动命令与参数,便于连接与发送请求)
说明:MCP 客户端连接 Seren 提供的 MCP 服务器时,需要提供一个配置项,包含 server name、command 与 args 等信息,用于启动并连接到 MCP 服务器。以下为示例配置要点,帮助理解字段含义:
- server name: 唯一标识 MCP 服务器的名称(如 “playwright-stealth”)。
- command: 启动 MCP 服务器的可执行命令(如 node)。
- args: 传给上述命令的参数列表,通常包括 MCP 脚本路径等。
- env: 需要传入的环境变量(可选)。
- enabled: 是否在默认连接时启用该服务器(可选,默认允许)。 结构示例(仅为描述性文本,不是代码块): { "servers": [ { "name": "playwright-stealth", "type": "local", "enabled": true, "command": "node", "args": [ "mcp-servers/playwright-stealth/dist/index.js" ], "env": {} } ] } 说明:具体字段与前端读取格式与后端实现保持一致,MCP 客户端在使用时可据此启动并连接到 Seren 所暴露的 MCP 服务。
- 基本使用方法
- 启动 Seren Desktop,并确保 MCP 服务器配置已就绪(上述配置示意)。
- 在 MCP 客户端中使用 JSON-RPC 请求读取资源、列出工具、执行工具、获取提示模板等能力, Seren 将对请求进行解析并返回 MCP 格式的结果。
- 可以通过 Seren 提供的工具和 OAuth 流程对 MCP 服务器进行认证、权限控制与能力声明。