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 的整合。

服务器信息