open-context MCP 服务器
使用说明 (Markdown 格式)
-
项目简介
- open-context 提供一个 MCP 服务器,用于在本地管理可供 LLM 客户端访问的资源、注册并执行工具,以及定义和渲染提示模板(Prompts)。服务器通过 MCP 标准的 JSON-RPC 与客户端通信,具备会话管理和多种传输方式的能力(本仓库实现以 stdio 传输为主,亦可通过容器或开发模式运行)。
-
主要功能点
- MCP 服务器核心功能:实现多种工具(如 save_context、recall_context、list_contexts、update_context、delete_context、search_contexts、create_bubble、list_bubbles、get_bubble 等),用于向 LLM 客户端暴露上下文管理能力,所有操作通过 JSON-RPC 请求/响应格式进行。
- 资源与存储:本地 JSON 存储(contexts.json、bubbles 等)实现持久化,支持自定义存储路径 OPENCONTEXT_STORE_PATH。
- 弹性运行与部署:可通过 Node 直接运行、Docker 容器运行,或在开发模式下通过 DEV 命令快速接入;能够与 Claude Code/桌面等客户端配合使用,持久化上下文。
- 配置与集成:提供将 MCP 服务器注册到客户端的示例配置,客户端通过指定 server 名称、启动命令和参数来建立连接。
- 安全与本地化:数据以本地存储为主,尽可能避免外部调用,确保上下文信息的私密性与本地化处理。
-
安装步骤
-
- 克隆仓库并安装依赖
-
- 构建 TypeScript 代码(CLI + HTTP 服务 + MCP 部署)
-
- 选择部署方式:本地开发/Docker/原生 MCP 传输
-
- 将 MCP 客户端指向服务器(参见下方“服务器配置”和 README 中的接入示例)
-
-
服务器配置(MCP 客户端需要的最小字段配置,供接入时参考)
- server 名称: open-context
- command: node
- args: ["/path/to/opencontext/dist/mcp/index.js"]
- 说明:此配置用于在客户端(如 Claude Code/ Claude Desktop)启动并连接到 MCP 服务器。实际路径要指向你部署后的 MCP 服务器可执行入口。若在本地开发阶段直接使用 TypeScript 源码,可以使用 tsx/npx 等方式执行,具体要按你的运行环境选择合适的命令和参数。
-
基本使用方法
- 启动方式一(生产/容器化):
- 将 MCP 服务器容器化后启动,确保上下文存储在持久卷中,Cliente 通过标准输入输出(stdio)与服务器通信。
- 启动方式二(本地开发/源码直接运行):
- 构建后使用 node 来启动 dist/mcp/index.js,确保传输通道为 stdio。
- 集成步骤(客户端接入要点):
- 在客户端的 MCP 设置中添加一个新服务器,指定服务器名称、启动命令及参数,使客户端能通过 MCP 协议向你的 open-context 服务器发起 JSON-RPC 请求。
- 基本工作流程:
- 客户端发送请求(如保存记忆、检索上下文、列出上下文等),服务器根据请求调用内部的存储、工具实现逻辑并返回 JSON-RPC 风格的响应。
- 启动方式一(生产/容器化):
-
其他说明
- 服务器默认存储路径位于用户主目录的 .opencontext/contexts.json,可通过 OPENCONTEXT_STORE_PATH 指定自定义路径。
- README 与源码中提供了多种接入示例(包括 Claude Code/ Claude Desktop 集成的配置示例),请按实际运行环境选择最合适的接入方式。