使用说明

项目简介

mcp-mem0 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI Agent 提供长期记忆功能。它集成了 Mem0 记忆库,允许 AI Agent 存储、检索和搜索记忆,从而增强 Agent 的上下文理解和持久学习能力。该项目是一个实用的 MCP 服务器模板,可以作为构建自定义 MCP 服务器的参考。

主要功能点

  • 记忆存储 (save_memory): 允许 AI Agent 将信息存储到长期记忆中,并进行语义索引,以便后续检索。
  • 全量记忆检索 (get_all_memories): 提供检索所有已存储记忆的功能,帮助 Agent 获取完整的上下文信息。
  • 语义记忆搜索 (search_memories): 支持使用自然语言查询进行语义搜索,快速找到相关记忆,提升信息检索效率。

安装步骤

使用 uv (推荐 Python 3.12+ 环境):

  1. 安装 uv:
    pip install uv
  2. 克隆仓库:
    git clone https://github.com/coleam00/mcp-mem0.git
    cd mcp-mem0
  3. 安装依赖:
    uv pip install -e .
  4. 创建 .env 配置文件: 复制 '.env.example' 文件并重命名为 '.env',然后根据需要配置环境变量,例如数据库连接信息、LLM API 密钥等。

使用 Docker:

  1. 构建 Docker 镜像:
    docker build -t mcp/mem0 --build-arg PORT=8050 .
  2. 创建 .env 配置文件: 复制 '.env.example' 文件并重命名为 '.env',然后配置环境变量。

服务器配置 (MCP 客户端配置)

stdio 传输配置 (Python 命令):

{
  "mcpServers": {
    "mem0": {
      "command": "your/path/to/mcp-mem0/.venv/Scripts/python.exe",  // Python 解释器路径,请替换为实际路径
      "args": ["your/path/to/mcp-mem0/src/main.py"], // MCP 服务器启动脚本路径,请替换为实际路径
      "env": {
        "TRANSPORT": "stdio", // 传输协议,固定为 stdio
        "LLM_PROVIDER": "openai", // LLM 提供商,支持 openai, openrouter, ollama
        "LLM_BASE_URL": "https://api.openai.com/v1", // LLM API 基础 URL,根据 LLM 提供商配置
        "LLM_API_KEY": "YOUR-API-KEY", // LLM API 密钥,请替换为你的 API 密钥
        "LLM_CHOICE": "gpt-4o-mini", // 使用的 LLM 模型名称
        "EMBEDDING_MODEL_CHOICE": "text-embedding-3-small", // 使用的 Embedding 模型名称
        "DATABASE_URL": "YOUR-DATABASE-URL" // PostgreSQL 数据库连接字符串,用于存储记忆,请替换为你的数据库连接信息
      }
    }
  }
}

stdio 传输配置 (Docker 命令):

{
  "mcpServers": {
    "mem0": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
               "-e", "TRANSPORT",   // 传输协议,固定为 stdio
               "-e", "LLM_PROVIDER",  // LLM 提供商
               "-e", "LLM_BASE_URL",  // LLM API 基础 URL
               "-e", "LLM_API_KEY",   // LLM API 密钥
               "-e", "LLM_CHOICE",    // 使用的 LLM 模型名称
               "-e", "EMBEDDING_MODEL_CHOICE", // 使用的 Embedding 模型名称
               "-e", "DATABASE_URL",  // PostgreSQL 数据库连接字符串
               "mcp/mem0"],        // Docker 镜像名称
      "env": {
        "TRANSPORT": "stdio",       // 传输协议,固定为 stdio
        "LLM_PROVIDER": "openai",      // LLM 提供商,支持 openai, openrouter, ollama
        "LLM_BASE_URL": "https://api.openai.com/v1",    // LLM API 基础 URL,根据 LLM 提供商配置
        "LLM_API_KEY": "YOUR-API-KEY",     // LLM API 密钥,请替换为你的 API 密钥
        "LLM_CHOICE": "gpt-4o-mini",      // 使用的 LLM 模型名称
        "EMBEDDING_MODEL_CHOICE": "text-embedding-3-small", // 使用的 Embedding 模型名称
        "DATABASE_URL": "YOUR-DATABASE-URL"  // PostgreSQL 数据库连接字符串,用于存储记忆,请替换为你的数据库连接信息
      }
    }
  }
}

SSE 传输配置:

首先需要启动 MCP 服务器 (具体启动方式请参考仓库 README 文档),然后 MCP 客户端可以通过以下配置连接到服务器:

{
  "mcpServers": {
    "mem0": {
      "transport": "sse", // 传输协议,固定为 sse
      "url": "http://localhost:8050/sse" // MCP 服务器 SSE Endpoint URL,默认为 http://localhost:8050/sse,请根据实际情况修改
    }
  }
}

注意: 如果使用 Windsurf 客户端,请将 'url' 替换为 'serverUrl'。 如果使用 n8n 客户端且服务器运行在宿主机,请将 'localhost' 替换为 'host.docker.internal'。

基本使用方法

  1. 配置 MCP 客户端: 根据你选择的传输方式 (stdio 或 sse),将上述相应的 JSON 配置添加到你的 MCP 客户端配置中。
  2. 启动 MCP 服务器 (SSE 传输): 如果使用 SSE 传输,请根据仓库 README 文档中的 "Running the Server" 章节启动 mcp-mem0 服务器。
  3. 在 MCP 客户端中使用工具: 在你的 AI Agent 应用中,可以通过 MCP 客户端调用 'save_memory', 'get_all_memories', 'search_memories' 等工具来操作长期记忆。

例如,在提示词中可以指示 AI Agent 使用 'search_memories' 工具来检索相关信息,或者使用 'save_memory' 工具来存储重要信息。

信息

分类

AI与计算