项目简介

MemoryGraph是一个强大的图数据库驱动的MCP服务器,旨在为AI编程代理提供持久化的记忆功能。它能够帮助AI代理存储编程模式、跟踪知识关系、跨会话检索重要信息,从而提升AI在长周期和复杂任务中的表现。与传统的平面存储(如纯向量数据库或静态Markdown文件)不同,MemoryGraph通过图结构捕捉实体、关系和时间标记,实现更深层次的上下文理解和多跳查询。

主要功能点

  • 记忆存储与检索: 允许AI代理存储各种类型的“记忆”(如解决方案、问题、代码模式、决策等),并支持模糊匹配、标签过滤、时间范围过滤等多种高级检索方式。
  • 关系管理: AI可以创建和管理记忆之间的关系(如“解决”、“导致”、“依赖于”等),通过这些关系构建知识图谱,实现链式推理和更精准的上下文获取。
  • 会话摘要与洞察: 提供工具来总结近期活动、识别未解决的问题,帮助AI快速掌握项目最新进展和关键挑战。
  • 多种后端支持: 支持多种数据库后端,包括轻量级的SQLite、嵌入式图数据库FalkorDBLite、高性能的FalkorDB以及企业级Neo4j等,满足不同部署需求。
  • 数据迁移与导入导出: 支持在不同后端之间迁移数据,并提供JSON、Markdown格式的导入导出功能。
  • AI代理集成: 与Claude Code、ChatGPT Desktop、Cursor AI、VS Code + Copilot等主流AI编程客户端无缝集成。

安装步骤

推荐使用'pipx'进行安装,它将MemoryGraph安装在隔离的环境中,避免Python依赖冲突。

  1. 安装 pipx(如果未安装): 'pip install --user pipx && pipx ensurepath'

  2. 安装 MemoryGraph MCP 服务器:

    • 默认核心模式(使用SQLite数据库): 'pipx install memorygraphMCP'
    • 可选:安装带有特定数据库后端支持的版本(例如,FalkorDBLite): 'pipx install "memorygraphMCP[falkordblite]"'

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

MemoryGraph作为MCP服务器,需要被你的MCP客户端(如Claude Code)配置才能使用。以下是典型的配置示例:

  • 核心模式(默认,使用SQLite):

    // 将此JSON配置添加到你的MCP客户端的配置文件中
    // 例如:~/.claude/config.json 或项目目录下的 .mcp.json
    {
      "mcpServers": {
        "memorygraph": {
          "command": "memorygraph", // 用于启动MemoryGraph服务器的命令
          "args": [],               // 核心模式下无需额外参数
          "description": "基于图的MCP记忆服务器,为AI代理提供持久上下文。"
        }
      }
    }
  • 扩展模式(包含更多工具):

    // 将此JSON配置添加到你的MCP客户端的配置文件中
    {
      "mcpServers": {
        "memorygraph": {
          "command": "memorygraph",
          "args": ["--profile", "extended"], // 启用扩展模式,提供数据库统计、复杂关系查询等更多高级工具
          "description": "基于图的MCP记忆服务器,提供更多高级工具和功能。"
        }
      }
    }
  • 扩展模式并指定Neo4j后端(需先运行Neo4j数据库):

    // 将此JSON配置添加到你的MCP客户端的配置文件中
    {
      "mcpServers": {
        "memorygraph": {
          "command": "memorygraph",
          "args": ["--profile", "extended", "--backend", "neo4j"], // 启用Neo4j后端和扩展模式
          "env": {                                                // 环境变量,用于配置Neo4j连接信息
            "MEMORY_NEO4J_URI": "bolt://localhost:7687",          // Neo4j数据库的URI
            "MEMORY_NEO4J_USER": "neo4j",                         // Neo4j用户名
            "MEMORY_NEO4J_PASSWORD": "your_neo4j_password"        // Neo4j密码,请替换为实际密码
          },
          "description": "基于图的MCP记忆服务器,使用Neo4j后端存储。"
        }
      }
    }

基本使用方法

一旦MemoryGraph服务器启动并通过MCP客户端连接,你就可以在AI代理的对话中通过工具调用来与其互动。

  1. 连接并验证(以Claude Code为例):

    • 将上述MCP服务器配置添加到你的Claude Code配置中。
    • 重启Claude Code。
    • 运行 'claude mcp list' 验证 'memorygraph' 服务器显示为 "Connected" 状态。
  2. 存储记忆: 在与AI对话时,引导它使用'store_memory'工具。 例如,你可以这样提示AI: "记住这个重要的模式:在Python测试中总是使用'pytest'框架。" AI会调用'store_memory'工具,将你的指示作为一条记忆存储起来。

  3. 回忆记忆: 当需要回顾信息时,引导AI使用'recall_memories'工具。 例如,你可以这样提示AI: "回忆一下我们之前关于认证安全的任何解决方案。" AI会调用'recall_memories'工具,查找并提供相关记忆。

  4. 配置AI自动使用记忆: 为了让AI更有效地利用MemoryGraph,建议在你的AI代理配置文件(如Claude Code的'~/.claude/CLAUDE.md')中添加记忆协议。这可以指导AI在特定事件(如Git提交、Bug修复、架构决策)发生时自动存储记忆,并在开始任务前主动回忆相关知识。

    ## 记忆协议
    
    ### 自动存储触发器
    请在以下任一情况发生时自动存储记忆:
    - **Git 提交:** 记录修复/添加的内容。
    - **Bug 修复:** 记录问题及解决方案。
    - **架构决策:** 记录选择及理由。
    - **发现模式:** 记录可重用的方法。
    
    ### 任务开始前
    你必须在任何任务开始前使用 'recall_memories' 工具。请按项目、技术或任务类型进行查询。

更多信息

有关详细的客户端配置、后端选项和高级用法,请参阅MemoryGraph的官方文档。

信息

分类

开发者工具