Octobrain MCP 服务器

使用说明(Markdown格式)

  • 项目简介

    • Octobrain 提供一个完整的 MCP 服务器实现,作为后端服务暴露内存管理、工具注册/执行,以及基于模板的 Prompt 提供等能力,供 LLM 客户端通过 MCP JSON-RPC 进行交互。
  • 主要功能点

    • MCP 服务端核心:处理 initialize、tools/list、tools/call 等 MCP 请求,返回合规的 JSON-RPC 响应。
    • 内存管理工具:memorize、remember、forget、auto_link、memory_graph 等操作,用于在本地 LanceDB 存储和检索记忆。
    • 向量检索与混合检索:基于嵌入向量和关键词、时间衰减等信号进行记忆检索与排序。
    • 会话与日志:支持会话管理、日志记录,并能将 MCP 日志输出到文件系统以保证协议合规。
    • 多种内部插件与扩展:内置 reranker、关系自动建立、记忆图等机制,便于构建丰富的上下文服务。
  • 安装步骤

    • 需要环境:Rust 工具链、必要的本地 Embedding 提供商及 LanceDB 存储组件。
    • 构建与运行:
      • 运行 cargo build --release 构建发布版本。
      • 启动 MCP 服务器:在命令行执行 octobrain mcp(需要已编译的可执行文件)。
    • 嵌入提供商配置:通过配置文件指定 embedding.model,例如 voyage、openai 等模型(本地/云端组合由配置文件决定)。
    • 服务器配置后端:MCP 客户端通过 JSON-RPC 与该服务器通信,服务器默认通过 STDIO 进行数据传输。
  • 服务器配置 这是用于 MCP 客户端连接服务器的描述信息(配置为 JSON,包含服务器名称、启动命令以及参数)。实际客户端无需代码实现,但需了解如何调用服务器。 { "server": { "name": "octobrain", "command": "octobrain", "args": ["mcp"] } // 备注:客户端使用上述启动指令来启动并连接 MCP 服务器的 STDIO 通道 }

  • 基本使用方法

    • 启动服务器后,LLM 客户端通过 MCP 接口发送 JSON-RPC 请求:
      • initialize:获取服务器能力与信息。
      • tools/list:获取可用工具清单(如 memorize、remember、forget、memory_graph 等)。
      • tools/call:调用具体工具,传入名称和参数,获取执行结果。
    • 客户端按需执行内存操作(存储、查询、删除、更新)以及对内存关系、图谱等进行查询与展示。
    • 服务器端会管理会话、能力声明,并根据请求返回标准的 JSON-RPC 响应。
  • 使用注意

    • MCP 服务以 STDIO 传输为主,确保客户端与服务器之间的通信遵循 JSON-RPC 2.0 规范。
    • 如需扩展传输协议,可在后续实现中增加 SSE/WebSocket 等通道,目前以 STDIO 为核心实现。

服务器信息