使用说明(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。
  • 服务器配置(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 中的协作方式。

信息

分类

桌面与硬件