持久化记忆服务

为Claude Code提供的持久化记忆服务,自动保存和检索跨会话的对话历史。

  • by chenxiaofie
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 chenxiaofie/memory-mcp

使用说明

内存MCP服务

英语 | 中文

Claude Code的持久内存MCP服务。自动保存对话并检索会话之间的相关历史记录。

它的作用: 每次与Claude Code聊天时,您的对话上下文(决策、偏好、关键讨论)都会被保存并在未来的会话中自动调用,因此Claude始终拥有所需的背景。

快速开始

先决条件

安装 紫外线 (Python包运行器):

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

需要Python 3.10-3.13(chromadb与Python 3.14+不兼容)。

1.初始化(仅限第一次)

下载矢量模型(~400MB,一次性):

uvx --from chenxiaofie-memory-mcp memory-mcp-init

2.将MCP服务器添加到克劳德代码中

claude mcp add memory-mcp -s user -- uvx --from chenxiaofie-memory-mcp memory-mcp

3.配置挂钩(推荐)

挂钩启用 全自动 消息保存。如果没有钩子,您需要手动调用内存工具。

添加以下内容 ~/.claude/settings.json:

{
  "hooks": {
    "SessionStart": [{
      "matcher": ".*",
      "hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-session-start" }]
    }],
    "UserPromptSubmit": [{
      "matcher": ".*",
      "hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-auto-save" }]
    }],
    "Stop": [{
      "matcher": ".*",
      "hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-save-response" }]
    }],
    "SessionEnd": [{
      "matcher": ".*",
      "hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-session-end" }]
    }]
  }
}

4.验证

claude mcp list

你应该看看 memory-mcp: ... - ✓ Connected.

就是这样!启动一个新的Claude Code会话,您的对话将自动保存和调用。

运作原理

Session Start ──► Create Episode ──► Monitor Process (background)
                                          │
User Message  ──► Save Message ──► Recall Related Memories ──► Inject Context
                                          │
Claude Reply  ──► Save Response           │
                                          │
Session End   ──► Close Signal ──► Archive Episode + Generate Summary
  • 剧集:每个对话会话都是一个“插曲”,带有自动生成的摘要
  • 实体:从对话中提取的关键知识(决策、偏好、概念)
  • 双层存储:用户级(跨项目共享)+项目级(按项目隔离)
  • 语义搜索:基于向量的检索可查找相关的过去上下文

用法

自动模式(带挂钩)

一旦配置好钩子,一切都是自动的。克劳德将把往届会议的相关历史作为背景。

手动模式

您也可以直接在Claude Code中调用内存工具:

# Start a new episode
memory_start_episode("Login Feature Development", ["auth"])

# Record a decision
memory_add_entity("Decision", "Use JWT + Redis", "For distributed deployment")

# Search history
memory_recall("login implementation")

# Close episode
memory_close_episode("Completed JWT login feature")

挂钩参考

Hook 它的作用 时间
会话开始 创建新剧集 ~50ms
UserPromptSubmit 保存用户消息+检索相关记忆 ~1-2s
停止 保存助手响应 ~1s
SessionEnd 表示事件结束 ~50ms

工具参考

工具 说明
memory_start_episode 开始新一集
memory_close_episode 关闭并存档当前剧集
memory_get_current_episode 获取当前活动剧集
memory_add_entity 添加知识实体
memory_confirm_entity 确认检测到的实体候选
memory_reject_candidate 拒绝错误检测
memory_deprecate_entity 将实体标记为过时
memory_get_pending 列出待定实体候选人
memory_recall 跨剧集和实体的语义搜索
memory_search_by_type 按类型搜索实体
memory_get_episode_detail 获取完整剧集详情
memory_list_episodes 按时间顺序列出所有剧集
memory_stats 获取系统统计信息
memory_encoder_status 检查矢量编码器状态
memory_cache_message 手动缓存消息
memory_clear_cache 清除消息缓存
memory_cleanup_messages 清理旧的缓存邮件

实体类型

类型 级别 描述
Decision 项目 本项目的技术决策
Architecture 项目 建筑设计
File 项目 重要文件说明
Preference 用户 个人偏好(跨项目共享)
Concept 用户 一般概念
Habit 用户 工作习惯

存储位置

  • 用户级别: ~/.claude-memory/
  • 项目级别: {project-root}/.claude/memory/
Alternative: Install from source

如果您需要从源代码运行(例如,用于开发):

git clone https://github.com/chenxiaofie/memory-mcp.git
cd memory-mcp
# Windows:
install.bat
# Mac/Linux:
chmod +x install.sh && ./install.sh

然后用venv Python配置MCP服务器:

# Windows:
claude mcp add memory-mcp -s user -- "C:\path\to\memory-mcp\venv310\Scripts\python.exe" -m memory_mcp.server

# Mac/Linux:
claude mcp add memory-mcp -s user -- /path/to/memory-mcp/venv310/bin/python -m memory_mcp.server

作者

陈佳俊 (Jiajun Chen) --前端工程师,中国杭州。 GitHub @ 陈xiaofie · feifeichen1999@gmail.com

本项目由陈佳俊(GitHub: 成xiaofie)开发并维护。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。