使用说明(Markdown 格式):
-
项目简介
- 该仓库实现了一个用于桌面应用的 MCP 服务器后端,嵌入 Electron 应用中,提供对内部 MCP 服务器的注册、管理与通信能力,支持向 LLM 客户端以统一的 JSON-RPC 方式提供资源、工具和 Prompt。
-
主要功能点
- MCP 服务器管理与执行:能够创建、注册、配置并管理内置的 MCP 服务器,支持多种传输方式(当前以 InMemory 为主,用于内置服务器之间的通信)。
- 工具注册与执行:提供工具注册、白名单、权限控制等能力,LLM 可以通过这些工具与外部系统交互。
- 资源与提示模板:维护可供 LLM 使用的资源、提示模板与任务系统提示,支持执行流程中的上下文管理。
- JSON-RPC 通信:服务器通过 MCP 标准协议与客户端通信,接收请求并返回结构化的 JSON 响应。
- 会话与健康管理:具备会话管理、能力声明以及对外部 MCP 服务器的健康检查能力。
- 多传输支持与扩展性:设计上支持通过不同传输方式接入 MCP 客户端,具备扩展为 SSE/WebSocket 等传输的潜力。
-
安装步骤
- 需要 Node.js 环境与 Electron 项目依赖。按照项目的 README 在根目录执行以下步骤:
- 安装依赖并启动开发环境
- 运行开发模式:npm install -g concurrently;npm run setup;npm run dev
- 详细步骤可参考仓库根目录的 README。
- 需要 Node.js 环境与 Electron 项目依赖。按照项目的 README 在根目录执行以下步骤:
-
服务器配置(MCP 客户端连接信息注释)
- 说明:MCP 客户端连接本仓库中的服务器时,若为内置的内存传输服务器,不需要外部启动命令;客户端需要配置的通常包含服务器名称、传输方式及对应的连接信息。下面给出一个符合仓库实现的示例配置(JSON),用于说明如何在客户端端接入:
- 服务器示例配置(JSON,说明性,不是代码块): { "Name": "Yak_Video_Tools", "Transport": "inMemory", "InMemoryServerId": "yak-video-tools", "Builtin": true } 说明:
- Name:服务器名称,与内置服务器注册时的一致(如 Yak_Shaver Video Tools)。
- Transport:传输方式,此处为 inMemory,表示在同一进程内存中通信,不需要外部启动命令。
- InMemoryServerId:在 MCP Server Manager 注册的内存传输标识,用于客户端识别对应的内存传输通道。
- Builtin:标记为内置服务器,表示这是应用内部已注册的 MCP 服务器。
- 备注:若连接外部 MCP 服务器(非内置),则需要提供启动命令与参数等信息,具体形式因传输方式而异;该仓库的内置服务器以 inMemory 传输为主,客户端无需外部启动命令。
-
基本使用方法
- 启动应用后,MCP 服务器将自动注册并暴露给客户端。LLM 客户端通过 MCP 协议连接,调用资源、工具和提示等服务。
- 客户端可以通过统一的接口读取服务器列表、查询工具、注册新服务器、或查看健康状态等。
- 如需调试,使用应用自带的开发与调试工具查看 MCP 服务器的步骤更新、工具调用和最终结果。
-
其他注意
- 本实现包含内部 MCP 服务器示例(如 YakShaver Video Tools),通过 inMemory 传输与核心流程集成,展示了资源、工具及流程在 MCP 中的协作方式。
信息
分类
桌面与硬件