项目简介

MCP Memory Service 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为 Claude Desktop 等 LLM 客户端提供强大的语义记忆和持久化存储功能。它利用 ChromaDB 向量数据库和 sentence-transformers 模型,实现了高效的自然语言上下文管理,使得 LLM 应用能够跨会话和实例保持记忆,并进行语义搜索、时间感知的信息检索和标签分类。

主要功能点

  • 语义搜索: 基于 sentence-transformers 模型,实现对记忆内容的深度语义理解和检索。
  • 自然语言时间感知: 支持如“上周”、“昨天早上”等自然语言时间表达式进行记忆检索。
  • 标签检索: 通过标签系统组织和检索记忆,方便分类和管理信息。
  • 持久化存储: 使用 ChromaDB 数据库进行数据持久化,保证数据安全可靠。
  • 自动备份: 支持数据库自动备份,防止数据丢失。
  • 跨平台兼容: 支持 macOS (Apple Silicon, Intel)、Windows 和 Linux 操作系统,并针对不同硬件环境进行优化。

安装步骤

  1. 克隆仓库

    git clone https://github.com/doobidoo/mcp-memory-service.git
    cd mcp-memory-service
  2. 创建并激活虚拟环境

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    venv\Scripts\activate      # Windows
  3. 运行安装脚本

    python install.py

    该脚本会自动检测您的系统环境,并安装必要的依赖。Windows 用户如果遇到 PyTorch 安装问题,可以尝试运行 'python scripts/install_windows.py'。

  4. 通过 Smithery 安装 (可选)

    如果您使用 Smithery,可以使用以下命令自动安装 Memory Service:

    npx -y @smithery/cli install @doobidoo/mcp-memory-service --client claude

服务器配置

MCP 服务器需要配置在 MCP 客户端(例如 Claude Desktop)的配置文件中。以下是配置示例,请根据您的实际安装路径进行调整。

标准配置 (claude_desktop_config.json):

{
  "memory": {
    "command": "uv",  // 启动命令,推荐使用 uv 或 python
    "args": [
      "--directory",
      "您的mcp-memory-service目录",  // 请替换为您的 mcp-memory-service 仓库的绝对路径
      "run",
      "memory"
    ],
    "env": {
      "MCP_MEMORY_CHROMA_PATH": "您的ChromaDB数据存储路径",  // 请替换为 ChromaDB 数据库的存储路径,例如用户目录下的 AppData 路径
      "MCP_MEMORY_BACKUPS_PATH": "您的备份文件存储路径"   // 请替换为备份文件存储路径,例如用户目录下的 AppData 路径
    }
  }
}

Windows 用户推荐配置 (claude_desktop_config.json):

为了确保 PyTorch 在 Windows 上正确安装和运行,推荐使用 'memory_wrapper.py' 脚本:

{
  "memory": {
    "command": "python",
    "args": [
      "C:\\path\\to\\mcp-memory-service\\memory_wrapper.py" // 请替换为 memory_wrapper.py 脚本的绝对路径
    ],
    "env": {
      "MCP_MEMORY_CHROMA_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\mcp-memory\\chroma_db", // 请替换为 ChromaDB 数据库的存储路径
      "MCP_MEMORY_BACKUPS_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\mcp-memory\\backups"  // 请替换为备份文件存储路径
    }
  }
}

配置参数说明:

  • 'command': 服务器启动命令,例如 'uv' (推荐,需安装 uv) 或 'python'。
  • 'args': 启动命令的参数列表。
    • '--directory "您的mcp-memory-service目录"': 指定 MCP 服务器代码所在的目录。
    • 'run memory': 运行名为 "memory" 的服务入口。
    • 或者 'memory_wrapper.py' (Windows 推荐): 使用包装脚本启动服务器。
  • 'env': 环境变量配置。
    • 'MCP_MEMORY_CHROMA_PATH': ChromaDB 数据库的存储路径,用于持久化记忆数据。
    • 'MCP_MEMORY_BACKUPS_PATH': 数据库备份文件的存储路径。

基本使用方法

  1. 启动服务器: 根据您的操作系统和配置,启动 MCP Memory Service 服务器。如果您使用 Claude Desktop,服务器会在 Claude Desktop 启动时自动启动。

  2. 连接客户端: 配置您的 MCP 客户端 (如 Claude Desktop) 连接到 Memory Service 服务器。

  3. 使用记忆功能: 通过 MCP 客户端,您可以调用 Memory Service 提供的工具 (Tools) 来存储、检索、搜索和管理记忆。例如,使用 'store_memory' 工具存储信息,使用 'retrieve_memory' 或 'recall_memory' 工具检索信息。

    您可以使用 'test_client.py' 脚本进行简单的测试和验证服务器连接。

    python src/test_client.py

    该脚本会连接到 Memory Service 服务器并执行基本的记忆操作。

信息

分类

AI与计算