BranchMind MCP 服务器

使用说明

  • 项目简介
    • BranchMind 是一个 Rust 为主的 MCP 服务器实现,专注于为 AI 代理提供耐久记忆、执行管控、提示渲染和可审计的工作流。核心功能包括托管与管理 Resources(数据资源)、注册和执行 Tools(外部功能)以及定义/渲染 Prompt 模板,客户端通过 JSON-RPC 与服务器交互。
    • 服务器可通过多种传输方式对接客户端,如标准输入输出(stdio)、Server-Sent Events(SSE)和 WebSocket,提供安全、可扩展的上下文服务框架。
  • 主要功能点(简要、易懂)
    • 资源管理:集中存放可供 LLM 访问的数据资源,便于多会话复用与持久化。
    • 工具注册与执行:对外暴露 Tool 接口,LLM 客户端可调用外部功能(如查询、计算、访问外部服务)。
    • Prompt 模板:提供可定制的 Prompt 模板,支持不同交互模式和上下文结构。
    • 会话与能力声明:维持会话状态、能力清单,确保上下文一致性和安全性。
    • 多传输通道与 Viewer:支持stdio、SSE、WebSocket 等传输,提供本地查看器(viewer)以可视化监控与调试。
    • 与 MpC 客户端协同:README 与实现中包含 bm_mcp、bm_runner 的协作配置与使用示例。
  • 安装与运行步骤(简化版)
    1. 安装 Rust 工具链(Rust + cargo)。
    2. 构建并运行 MCP 服务器二进制 bm_mcp,以及 Runner 二进制 bm_runner(如需要)。
      • 通过源码编译:在仓库根目录执行 cargo build --workspace(或按 repo README 的快速 start 指引)。
    3. 启动 MCP 服务器(本地运行示例受控环境参数):
      • bm_mcp --shared --storage-dir <路径> --toolset full --workspace <workpace_name> [可选:--socket <路径>、--viewer <开关>、--viewer-port <端口>]
    4. 连接一个 MCP 客户端(如 bm_runner)并通过配置映射建立连接。
    5. 使用 MCP 客户端向服务器发送初始化、工具调用等 JSON-RPC 请求,服务器将返回标准的 JSON-RPC 响应。
  • 服务器配置(供 MCP 客户端参考,实际客户端不需要改动) 说明:以下配置用于描述如何让一个 MCP 客户端知道如何启动并连接到该服务器。客户端实现方应按此信息启动并连接,但不需要在最终应用中直接暴露为代码。请按 JSON 格式理解和填写,字段含义如下:
    • server name: branchmind
    • command: bm_mcp(或完整路径,如 /abs/path/to/bm_mcp)
    • args: 服务器启动参数集合,如 --shared、--storage-dir、--toolset、--workspace、以及可选的 --socket/--viewer 设置等 示例(描述性文本形式呈现,不作为代码块): { "server": "branchmind", "command": "/absolute/path/to/bm_mcp", "args": [ "--shared", "--storage-dir", "<path_to_storage>", "--toolset", "full", "--workspace", "<workspace_name>", "[可选] --socket <socket_path>", "[可选] --viewer --viewer-port <port>" ], "notes": "上述参数来自仓库示例与实现,实际使用请替换为你的部署路径与工作区设置。MCP 客户端将通过该信息启动 bm_mcp,并与之建立 JSON-RPC 通道。" }
  • 基本使用方法
    • 启动后,MCP 服务器等待来自 MCP 客户端的初始化、资源与工具的注册请求,以及后续的资源读取、工具调用、Prompts 渲染等操作。
    • 客户端可以通过 initialize 请求完成协议握手,随后执行工具调用、资源访问、Prompt 获取等功能,服务器返回 JSON-RPC 的 standard 收发结果或通知。
    • 服务器支持多会话并提供会话管理、能力声明、以及可扩展的传输协议,从而为 LLM 应用提供稳定的上下文服务框架。

服务器信息