返回市场
弹性内存管理器

弹性内存管理器

作者:j3k016 星标更新:2025-10-29

项目介绍

MCP Memory:适用于AI对话的持久记忆 🧠

版本 许可证 Elasticsearch Node

给你的AI一个在对话之间持续的记忆。 再也不会丢失重要的上下文。

MCP Memory 是一个强大的、基于Elasticsearch的知识图谱系统,它赋予AI模型超出其上下文窗口限制的持久记忆。专为模型上下文协议(MCP)构建,确保您的大语言模型(LLMs)永远记住重要信息,创建更加连贯、个性化且有效的AI对话。

<p align="center"> <img src="https://via.placeholder.com/800x400?text=MCP+Memory+Visualization" alt="MCP Memory Visualization" width="600"> </p>

🌟 为什么AI模型需要持久记忆

您是否曾遇到过这些与AI助手相关的烦恼?

  • 您的AI忘记之前对话中的关键细节
  • 每次开始新聊天时都必须重复相同的上下文
  • 当对话历史记录填满后,有价值的见解就会丢失
  • 无法引用过去的工作或决策

MCP Memory通过创建一个结构化、可搜索的记忆存储来解决这些问题,该存储可以无限期地保存上下文。现在,您的AI可以建立有意义的长期关系,并在数天、数周甚至数月的交互中保持连贯性。

✨ 主要功能

  • 📊 持久记忆:跨多个会话存储和检索信息
  • 🔍 智能搜索:使用强大的Elasticsearch查询找到您需要的确切内容
  • 📓 上下文回忆:AI根据对话自动优先处理相关信息
  • 🧩 关系理解:连接概念,模仿人类联想记忆
  • 🔄 长期/短期记忆:区分临时细节和重要知识
  • 🗂️ 记忆区域:将信息组织成不同的领域(项目、客户、主题)
  • 🔒 可靠且可扩展:基于Elasticsearch的企业级性能构建

🚀 五分钟设置

开始使用非常简单:

先决条件

  • Docker:运行Elasticsearch所需(或本地Elasticsearch安装)
  • Node.js:版本18或更高
  • npm:用于包管理
# 1. 克隆仓库
git clone https://github.com/mcp-servers/mcp-servers.git
cd mcp-servers/memory

# 2. 安装依赖项
npm install

# 3. 启动Elasticsearch(使用Docker)
npm run es:start
# 注意:如果您希望使用自己的Elasticsearch安装,
# 设置ES_NODE环境变量指向您的Elasticsearch实例

# 4. 构建项目
npm run build

🔌 连接到Claude Desktop

MCP Memory旨在与Claude Desktop无缝协作,为所有对话提供持久记忆:

  1. 复制并配置启动脚本

    仓库包含一个launch.example文件,您可以简单复制:

    # 复制示例启动文件
    cp launch.example launch.sh
    
    # 编辑launch.sh以添加您的Groq API密钥
    # 这是智能记忆检索所需的
    nano launch.sh  # 或使用您喜欢的编辑器
    

    将脚本设为可执行:

    chmod +x launch.sh
    
  2. 在Claude Desktop中添加命令

    • 打开Claude Desktop设置
    • 导航到“命令”部分
    • 点击“添加新命令”
    • 如下配置:
      • 名称:MCP Memory
      • 命令:/path/to/mcp-servers/memory/launch.sh
      • 参数:留空
      • 后台运行:是
      • 显示在菜单中:是
  3. 验证连接

    • 从Claude Desktop启动命令
    • 您应该看到通知,表明Claude已连接到MCP Memory
    • 尝试询问Claude关于之前对话中讨论的内容!

有关完整的示例和视觉指南,请参阅在线的Claude Desktop MCP服务器设置指南

💡 工作原理

MCP Memory创建了一个结构化的知识图谱,其中:

  1. 实体代表人们、概念、项目或任何值得记住的事物
  2. 关系连接实体,形成关联网络
  3. 观察捕捉关于实体的具体细节
  4. 相关性评分确定应优先考虑哪些信息

当集成到LLM中时,系统会自动:

  • 存储在对话中学习的新信息
  • 在需要时检索相关上下文
  • 建立相关概念之间的联系
  • 忘记不重要的细节,同时保留关键知识

🛠️ 示例:代理如何使用记忆

用户视角

对话1:初始信息

用户:我女儿的名字叫Emma,她下个月就8岁了。

Claude:太棒了!Emma下个月就8岁了。你有什么特别的计划吗?
(幕后操作:Claude将“Emma”存储为类型为“人”的实体,并记录她的年龄和生日时间)

对话2:几天或几周后

用户:我在考虑送什么礼物。

Claude:如果你正在寻找Emma 8岁生日的礼物想法,你考虑过她的当前兴趣是什么?在那个年纪,许多孩子喜欢创意物品、书籍或教育游戏。
(幕后操作:Claude检索了实体“Emma”,她的年龄以及生日即将到来的事实)

对话3:生日之后

用户:周六的派对进行得很顺利!

Claude:很高兴Emma的8岁生日派对在周六成功举行!她喜欢收到的礼物吗?
(幕后操作:Claude更新了关于Emma的观察,指出她的生日派对是在周六举行的,并且很成功)

代理如何使用记忆

当用户提到一些重要的事情时,代理:

  1. 识别值得记住的重要信息
  2. 通过创建实体、关系和观察将其存储在记忆中
  3. 当出现新的细节时更新现有信息

当用户提到与存储的信息相关的事情时,代理:

  1. 根据当前对话搜索记忆中的相关上下文
  2. 检索可能有用的详细信息
  3. 自然地将这些信息融入其响应中

这一切都是自动发生的——用户只需与助手进行正常的对话,而记忆系统则在幕后工作,维护跨会话的上下文。

智能实体管理

MCP Memory包括智能的实体创建和更新处理:

  • 当尝试创建一个已经存在的实体时,系统返回现有的实体数据,并指导如何用新信息扩展它
  • 系统智能地区分创建新实体和更新现有实体
  • 即使信息被更新,实体关系也会自动维持

🧰 管理工具

MCP Memory包括一个全面的管理CLI,用于维护您的知识图谱:

# 搜索记忆
node dist/admin-cli.js search "Emma 生日"

# 查看特定实体的详细信息
node dist/admin-cli.js entity "Emma"

# 备份整个记忆系统
node dist/admin-cli.js backup memory-backup.json

📚 高级功能

记忆区域

将知识组织成不同的领域:

# 创建一个特定项目的记忆区域
node dist/admin-cli.js zones add client-acme "ACME Corp项目知识"

# 将数据导入该区域
node dist/admin-cli.js import acme-data.json client-acme

对话记忆管理

您还可以通过自然对话指示助手将记忆组织到不同的区域:

创建和使用记忆区域

用户:Claude,你能创建一个名为“work-project”的新记忆区域来存储关于我当前工作的项目信息吗?

Claude:我已经创建了一个名为“work-project”的新记忆区域。我会在这个区域存储与您的工作项目相关的信息。你想让我记住关于这个项目的什么信息?

用户:项目的截止日期是3月15日,我们正在建设一个新的库存管理系统。

Claude:我已经在“work-project”区域存储了关于您的工作项目的3月15日截止日期和您正在建设库存管理系统的相关信息。我会将未来关于此项目的任何信息组织在这个区域。
(幕后操作:Claude创建了一个新的记忆区域,并将项目信息具体存储在该区域)

检索特定区域的信息

用户:你记得我的工作项目吗?

Claude:根据我们讨论过的关于您的工作项目,我记得您正在建设一个库存管理系统,截止日期是3月15日。
(幕后操作:Claude专门在“work-project”区域搜索相关信息)

切换记忆区域

用户:Claude,我们现在切换到我的“烹饪”记忆区域。我想讨论一个食谱。

Claude:我已经切换到了您的“烹饪”记忆区域。今天你想讨论哪个食谱?
(幕后操作:Claude更新了其记忆上下文,优先搜索“烹饪”区域)

用户:上个月告诉你的那道意大利面是什么?

Claude:根据我们在“烹饪”区域之前的对话,你分享了一道使用培根、鸡蛋、佩科里诺奶酪和黑胡椒的卡邦纳拉食谱。你提到这是你在罗马旅行时学到的家庭最爱。
(幕后操作:Claude专门在“烹饪”区域搜索这些信息)

通过将记忆组织成不同的区域,对话变得更加相关和专注于当前的话题或项目。

搜索能力

利用Elasticsearch的强大搜索功能:

# 模糊搜索(即使有拼写错误也能找到“会议”)
node dist/admin-cli.js search "会议笔记"

# 区域特定搜索
node dist/admin-cli.js search "预算" client-acme

🤝 贡献

欢迎贡献!详情请参阅CONTRIBUTING.md

📝 许可证

MIT


<p align="center"> <b>准备好给您的AI一个持久的记忆了吗?五分钟内即可开始!</b><br> <a href="https://github.com/mcp-servers/mcp-servers">GitHub</a> • <a href="https://discord.gg/mcp-community">Discord</a> • <a href="https://mcp-servers.readthedocs.io">文档</a> </p>