Claude-Mem MCP Server
- 项目简介
- mem-claude 是一个基于 MCP 的服务器实现,负责向 MCP 客户端提供上下文服务。它整合了资源管理、工具注册与执行,以及 Prompt 的定义与渲染,旨在为大型语言模型提供可扩展的上下文与功能能力。
- 主要功能点
- 资源管理与数据访问:以标准化方式托管、查询并管理资源数据,用于上下文构建与知识检索。
- 工具注册与执行:注册可由 LLM 调用的外部功能工具,并通过 MCP 协议接收工具调用请求、执行并返回结果。
- Prompt 定义与渲染:提供可定制的 Prompt 模板与渲染逻辑,支持多种互动模式和可扩展的模板渲染。
- MCP 协议对接与 JSON-RPC:实现对 MCP 的请求/响应格式(JSON-RPC)的处理,返回标准的 JSON-RPC 响应,并支持通知推送。
- 会话与能力声明:服务器端维护会话状态、能力声明,并可通过不同传输协议(如 Stdio、SSE、WebSocket)对外提供服务。
- 插件化与容器化部署:仓库提供容器化容器化部署方案,方便快速上线。
- 安装与运行(简要步骤,按实际环境选择容器化或直接运行)
- 准备工作
- 安装 Docker 与 Docker Compose(如使用容器化部署),或在本地环境安装 Node.js 运行时。
- 容器化运行(推荐)
- 使用 Docker Compose 启动相关服务,例如包含 Worker、Chroma、Ollama 等组件的组合,或按仓库的 DOCKER.md 指引单独启动 MCP Server 相关模块。
- 直接运行
- 通过 Node.js 启动 MCP 服务器(具体入口文件通常为 src/servers/mcp-server.js 或其编译后的输出 mcp-server.js),确保相关依赖已安装。
- 监控与健康
- Web UI(如在浏览器访问 http://localhost:37777)以及各种健康检查端点,用于确认 MCP 服务器是否就绪。
- 准备工作
- 服务器配置(给 MCP 客户端的最小启动信息)
- 说明:MCP 客户端需要提供启动命令及参数,以便连接到 MCP 服务器并建立通信通道。以下为一份示例配置信息(JSON 形式,字段含义在后续注释中解释)。
- 服务器配置示例(JSON): { "serverName": "claude-mem", "command": "node", "args": ["/path/to/src/servers/mcp-server.js"], "env": { "CLAUDE_MEM_WORKER_URL": "http://localhost:37777" } }
- 字段说明
- serverName: MCP 服务器在客户端配置中的标识名称,便于区分不同的 MCP 实例。
- command: 启动 MCP 服务器的可执行程序,示例为 Node.js。
- args: 启动命令的参数数组,示例为指向 MCP 服务器入口脚本的路径。
- env: 运行时环境变量集合,可包含 worker URL、模型提供者配置等。上述示例设置了 CLAUDE_MEM_WORKER_URL,指向后端工作进程的通信入口。
- 注:具体路径应与仓库结构和部署方式对应,客户端只需知道 serverName、command、args 即可建立连接,其他配置(如是否暴露端点、认证方式等)由 MCP 客户端自行管理。
- 基本使用方法
- 连接与通信
- 将 MCP 客户端配置为使用上述 serverName/command/args 启动对应 MCP 服务器实例。MCP 客户端通过 JSON-RPC 调用资源读取、工具执行与 Prompt 渲染等功能。
- 交互模式
- 客户端可以通过标准 MCP 请求读取资源、调用工具并获取工具执行结果,以及获取并渲染提示模板,以驱动 LLM 的上下文环境。
- 安全与扩展
- 服务器端负责会话管理与能力声明,支持多传输协议以适应不同场景。对于生产部署,建议结合认证、授权与日志审计来提升安全性。
- 连接与通信
- 公开来源与参考
- 仓库提供的容器化实现与测试用例,明确了 MCP 服务器的目标能力:工具注册、资源访问、Prompt 渲染与 JSON-RPC 通信,以及与 Claude-Mem 的整合。