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 响应。
- 启动服务器后,LLM 客户端通过 MCP 接口发送 JSON-RPC 请求:
-
使用注意
- MCP 服务以 STDIO 传输为主,确保客户端与服务器之间的通信遵循 JSON-RPC 2.0 规范。
- 如需扩展传输协议,可在后续实现中增加 SSE/WebSocket 等通道,目前以 STDIO 为核心实现。