认知记忆代理服务

Memory MCP是一个高级认知记忆代理服务,通过四智能体架构实现AI聊天机器人的长期自主记忆管理,支持语义和情景记忆存储、自动冲突解决及混合模型集成。

  • by AkbariKishan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 AkbariKishan/memory_MCP

使用说明

记忆MCP-高级认知记忆剂🧠✨

内存MCP是专业级 模型上下文协议(MCP)服务器 它为人工智能聊天机器人提供长期、自主的认知记忆。与简单的内存工具不同,它使用复杂的 四代理架构 实时监控、提取、协调和整合知识。


🚀 主要特点

  • 🤖 自主四代理系统:
    • 监视器代理:对消息进行分类并分配 重要性得分 (0.0到1.0)从核心知识中过滤闲聊。
    • 萃取剂:将原始文本转换为具有实体和元数据的结构化JSON事实。
    • 反射剂:执行“记忆睡眠”循环,以整合零碎的记忆并删除过时的信息。
    • 接地剂:使用分层检索将相关上下文自动注入到查询中。
  • ⚖️ 自动冲突解决:自动检测新信息何时与现有知识相矛盾,并使用LLM将两者调和成一个准确的事实。
  • ⚡ 双存储引擎:
    • 语义记忆(概况介绍):高度重要、稳定的事实(偏好、生物、技术堆栈)。
    • 情景记忆(矢量数据库):带有时间元数据的时间索引体验日志。
  • 🌍 混合模型支持:
    • 谷歌双子座(推荐):使用Gemini 1.5/2.0 Flash(免费层)进行超快速、高精度提取。
    • 当地Ollama:使用Llama 3.2/3.1进行100%私人离线推理。
  • 🔒 安全与隐私:
    • 支持 .env 用于安全API密钥管理的文件。
    • 100%本地数据存储 ~/.memory_mcp/.

🏗️ 建筑:认知管道

该系统作为您和LLM之间的智能“认知操作系统”层运行。

flowchart TD
    A["User Message"] --> B["Monitor Agent"]
    B -- "Important" --> C["Extraction Agent"]
    B -- "Chitchat" --> D["Ignore"]
    
    C --> E["Conflict Detection"]
    E -- "Conflict Found" --> F["Conflict Resolver"]
    E -- "No Conflict" --> G["MemoryStore"]
    F --> G
    
    G --> H["Semantic Fact Sheet"]
    G --> I["Episodic Vector DB"]
    
    J["Reflection Phase"] --> K["Reflector Agent"]
    K -- "Consolidate" --> H
    K -- "Prune" --> I
    
    L["User Query"] --> M["Grounding Agent"]
    M --> H
    M --> I
    M -- "Enriched Context" --> N["Final LLM Prompt"]

🛠️ 可用工具

工具 类型 描述
process_message 认知 主要工具。 运行监视器->提取->对账->存储。
ground_query 接地 在聊天机器人回答之前,用相关上下文丰富查询。
reflect_and_consolidate 维护 将相似的记忆合并为事实,并清理旧的低价值数据。
update_fact 手册 强制更新语义记忆中的特定主题。
get_fact_sheet 资源 查看整个结构化知识库。

🧠 深潜:特工们是如何“思考”的

1.监控代理和重要性评分

对每条消息进行评分,以确定其“保质期”:

  • 0.9-1.0(临界):永久用户偏好(“我是素食主义者”,“叫我亚历克斯”)。
  • 0.7-0.8(稳定):技术或生物事实(“我使用React”,“我住在纽约”)。
  • 0.4-0.6(暂时性):当前项目详情(“截止日期为周五”)。
  • <0.3(短暂):闲聊或问候(丢弃)。

2.提取剂和冲突解决

当与现有知识相矛盾的新信息到来时 冲突解决程序 被触发。 示例:如果你之前说你使用React,但现在说“我已经切换到Vue”,系统会将这些内容整合为一个更新的事实,而不是创建重复的事实。

3.自动化维护(新增!)

服务器现在完全自主,并通过可配置的触发器管理自己的“思维”:

  • 回合制触发器:每次之后自动运行反射循环 20条重要信息 (可配置)。
  • 后台循环:可以在空闲时定期运行维护(例如每30分钟一次)。 默认情况下已禁用 以节省资源。
# config.yaml settings
reflector:
  message_threshold: 20   # Run reflection every 20 important messages
  enable_background_loop: false  # Set to true to enable background timer
  interval_seconds: 1800  # 30 minute interval


📥 安装和设置

# 1. Clone & Install
git clone https://github.com/yourusername/memory_MCP.git
cd memory_MCP
pip install -e .

# 2. Key Setup
cp .env.example .env
# Add your GOOGLE_API_KEY to .env (No key needed for local Ollama)

🔌 连接到MCP客户端

1.克劳德桌面(Mac/Windows)

Claude Desktop是MCP的旗舰客户端。它允许您在聊天中直接使用您的认知记忆。

配置位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

配置: 将以下内容添加到您的 mcpServers 对象:

{
  "mcpServers": {
    "memory": {
      "command": "python3",
      "args": ["/Users/YOUR_USER/memory_MCP/src/memory_mcp/server.py"],
      "env": {
        "PYTHONPATH": "/Users/YOUR_USER/memory_MCP"
      }
    }
  }
}

[!重要] 替换 /Users/YOUR_USER/memory_MCP 随着 绝对路径 到您的项目目录。


2.VS代码(Roo代码/Cline)

这些扩展将VS Code变成了一个强大的具有内存的AI IDE。

  1. 打开VS Code并导航到 Roo代码 或 克莱恩 设置。
  2. 查找 MCP服务器 部分。
  3. 点击 编辑设置(JSON) 或者通过UI添加新服务器。
  4. 使用与上述Claude Desktop相同的JSON配置。Roo Code经常共享相同的代码 claude_desktop_config.json 或使用自己的 mcp_settings.json 在 ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/.

3.Goose(桌面AI代理)

Goose为代理工作流提供了强大的CLI和UI。

  1. 打开Goose配置(~/.config/goose/config.yaml 或通过UI)。
  2. 添加新扩展名:
extensions:
  memory:
    name: memory
    command: python3
    args:
      - /Users/YOUR_USER/memory_MCP/src/memory_mcp/server.py
    env:
      PYTHONPATH: /Users/YOUR_USER/memory_MCP

4.光标(AI编辑器)

游标允许您在其设置中添加MCP服务器。

  1. 首选 光标设置 -> 将军 -> 特性.
  2. 找到 MCP服务器 然后单击 +添加新的MCP服务器.
  3. 姓名: Memory
  4. 类型: command
  5. 命令: python3 /Users/YOUR_USER/memory_MCP/src/memory_mcp/server.py

💡 专业用户提示

要充分利用你的认知记忆,请尝试以下提示:

  • “记住,我所有的项目都更喜欢黑暗模式。” (直营店)
  • “我们昨天对API体系结构做了什么决定?” (触发接地)
  • “反思我们最近的工作,更新我的技术栈偏好。” (手动维护)

📊 比较:内存MCP与Mem0

功能 记忆MCP(认知) Mem0(标准)
逻辑引擎 四代理系统:自主监控、提取、调和和反思。 使用更简单的提取和图形方法。
维护 自省:自动“思维周期”整合和修剪数据,无需用户输入。 修剪和合并通常是批处理或手动操作。
协议 MCP标准:即插即用Claude Desktop和任何MCP客户端。 需要自定义SDK/neneneba API集成。
隐私 100%本地优先:数据保留在磁盘上。与当地Ollama合作。 主要是基于云的SaaS,尽管存在开源选项。
冲突解决 机构和解:使用LLM推理将相互矛盾的信息合并为“统一事实”。 可能会导致重复或需要手动元数据逻辑。
设置成本 免费/本地:Gemini Flash或当地Llama的零成本。 云功能的分层SaaS定价。

📚 研究与启示

记忆MCP是建立在最先进的人工智能记忆研究的基本原理之上的。主要灵感来源包括:


🔒 安全最佳实践

  1. 当地一切:你所有的记忆都存储在 ~/.memory_mcp/。除非您使用云LLM提供商(Google Gemini),否则任何数据都不会离开您的机器。
  2. 密钥管理:使用 .env 文件,以将API密钥排除在源代码之外。
  3. 控制:您可以手动编辑 ~/.memory_mcp/fact_sheet.json 如果你需要“硬重置”一个特定的事实。

📝 许可证

麻省理工学院