mcpField
M
memory-mcp

memory-mcp

本地服务
github.com/yuvalsuede记忆与知识10039 周前更新

关于 memory-mcp

memory-mcp 是面向 Claude Code 的持久化记忆与自动 git 快照工具。它通过钩子在会话中静默提取决策、模式和架构等信息,并把记忆保存在本地文件中,适合需要长期维护项目上下文的开发者。

主要功能

  1. 01自动提取架构、决策、模式等记忆
  2. 02CLAUDE.md 与深度存储的两层记忆
  3. 03基于 Jaccard 相似度的去重
  4. 04按类型衰减记忆置信度
  5. 05每次保存记忆时生成 git 快照
  6. 06本地文件存储,可通过仪表板查看

适用场景

  1. 01跨会话保留项目背景与设计决策
  2. 02在对话中途检索历史记忆
  3. 03回滚代码变更到某次记忆保存时的状态

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"yuvalsuede-memory": {
"command": "npx",
"args": [
"-y",
"claude-code-memory"
]
}
}
}
启动命令npx -y claude-code-memory

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmclaude-code-memory1.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

memory-mcp

npm version npm downloads License: MIT Node TypeScript

为 Claude Code 提供持久记忆 + 自动 Git 快照。永不丢失上下文,永不丢失代码。

🧠 45 memories | 📊 2.8K tokens | 📸 23 snapshots | ⏱️ 5m ago

为什么选择 memory-mcp?

问题解决方案
每次会话都要重新解释项目自动记录决策、模式和架构
上下文窗口已满,知识丢失双层记忆:CLAUDE.md(即时)+ 深度搜索
搞坏了东西,却想不起之前什么有效每次保存时创建 Git 快照,可即时回滚
不清楚 Claude 对项目「了解」多少可视化面板展示所有上下文
担心云端存储100% 本地文件,保存在你的 Git 仓库中

与众不同之处

  • Git 快照 — 每次保存记忆都会提交整个项目。随时回滚。
  • 双层记忆 — CLAUDE.md 即时加载,深度存储可在对话中搜索。
  • 由大模型驱动 — Haiku 提取重要信息、合并重复内容并清理过时信息。
  • 可视化面板 — 查看上下文:令牌数、不同类型的记忆和快照历史。
  • 零操作负担 — 无需运行命令,一切都在后台静默运行。

快速开始

# Install globally
npm install -g claude-code-memory

# Interactive setup (API key + hooks)
memory-mcp setup

# Initialize a project
memory-mcp init ~/Projects/my-app

就这样。开始编码吧。记忆会自动积累。

工作原理

graph TB
    subgraph "Phase 1: Silent Capture"
        A[Claude Code Session] -->|User sends message| B[Claude responds]
        B -->|Hook fires: Stop/PreCompact/SessionEnd| C[extractor.js]
        C --> D[Read transcript from cursor]
        D --> E[Chunk if >6000 chars]
        E --> F[Send to Haiku LLM]
        F -->|Extract memories as JSON| G[Dedup via Jaccard similarity]
        G --> H[Save to .memory/state.json]
        H --> I[Decay confidence scores]
        I --> J{Consolidation needed?}
        J -->|>80 memories or every 10 extractions| K[Haiku merges/drops]
        J -->|No| L[Sync CLAUDE.md]
        K --> L
    end

    subgraph "Phase 2: Recovery"
        M[New session starts] -->|Built-in behavior| N[Claude reads CLAUDE.md]
        N --> O[Claude has full project context]
    end

    subgraph "Phase 3: Deep Recall"
        O --> P{Need specific context?}
        P -->|memory_search| Q[Keyword search across memories]
        P -->|memory_ask| R[Haiku synthesizes answer from top 30 matches]
        P -->|memory_related| S[Tag-based retrieval]
    end

    subgraph "Data Store"
        H -.-> T[(.memory/state.json<br/>Full memory store)]
        L -.-> U[(CLAUDE.md<br/>~150 line summary)]
        T -.->|MCP tools read| Q
        T -.->|MCP tools read| R
        T -.->|MCP tools read| S
    end

    style A fill:#4a9eff,color:#fff
    style F fill:#ff6b6b,color:#fff
    style K fill:#ff6b6b,color:#fff
    style R fill:#ff6b6b,color:#fff
    style T fill:#ffd93d,color:#000
    style U fill:#6bcb77,color:#000

双层记忆架构:

层用途大小
CLAUDE.md在会话开始时自动读取。包含约 150 行最重要的上下文。精简
.memory/state.json完整的记忆存储。可在对话中通过 MCP 工具搜索。不限

通过钩子静默捕获:

Claude Code 钩子会在每次回复后(Stop)、上下文压缩前(PreCompact)以及会话结束时(SessionEnd)触发。快速大模型(Haiku)会读取对话记录并提取:

  • 架构 — 系统的组织结构
  • 决策 — 选择 X 而非 Y 的原因
  • 模式 — 约定和做事方式
  • 注意事项 — 不明显的陷阱
  • 进度 — 已完成的事项和正在进行的工作
  • 上下文 — 业务背景、截止日期和偏好

智能记忆管理:

  • Jaccard 相似度去重(避免重复记忆)
  • 置信度衰减(进度信息在 7 天后衰减,上下文信息在 30 天后衰减)
  • 由大模型驱动的整合(合并重叠记忆,清理过时记忆)
  • 按行数限制 CLAUDE.md(控制在约 150 行以内,并将最重要的信息排在前面)

更新

更新现有安装:

npm install -g claude-code-memory --force

更新钩子(例如,修复漏洞后):

memory-mcp setup

要求

  • Claude Code 命令行
  • Node.js 18+
  • Anthropic API 密钥(用于基于 Haiku 的提取器,每次提取约 $0.001)

CLI 命令

memory-mcp setup              Interactive first-time setup
memory-mcp init [dir]          Initialize memory for a project
memory-mcp status [dir]        Show memory status and health
memory-mcp statusline [dir]    Compact one-line status (great for shell prompts)
memory-mcp context [dir]       Show context metrics and token usage
memory-mcp context --html      Generate visual HTML dashboard
memory-mcp search <query>      Search memories by keyword
memory-mcp ask <question>      Ask a question, get answer from memory
memory-mcp consolidate [dir]   Merge duplicates, prune stale memories
memory-mcp key [api-key]       Set or check Anthropic API key
memory-mcp snapshots [dir]     List git snapshot history
memory-mcp snapshot-enable     Enable automatic git snapshots
memory-mcp snapshot-disable    Disable git snapshots
memory-mcp help                Show help

上下文面板

使用 memory-mcp context 可视化记忆用量:

Context Dashboard

  Project: my-app

  Total Context
  2.8K estimated tokens

  Tier 1 CLAUDE.md (auto-loaded)
  █████████████████░░░░░░░░░░░░░ 1.0K
  45 lines, 44 in memory block

  Tier 2 .memory/state.json (searchable)
  ██████████████████████████████ 1.8K
  29 active, 5 archived, 24 superseded

  Memories by Type
  architecture ███░░░░░░░░░░░░░░░░░   8 memories (291 tokens)
  decision     ██████░░░░░░░░░░░░░░  18 memories (540 tokens)
  gotcha       ████░░░░░░░░░░░░░░░░  10 memories (332 tokens)
  progress     ██████░░░░░░░░░░░░░░  19 memories (538 tokens)

  Git Snapshots
  ● Enabled on __memory-snapshots
  42 commits → origin

使用 memory-mcp context --html 生成交互式浏览器面板。

Git 快照

与工作会话关联的自动项目版本管理。每次提取记忆时,都会将整个项目提交到隐藏分支。

# Enable during init (you'll be prompted)
memory-mcp init ~/Projects/my-app

# Or enable later
memory-mcp snapshot-enable

# View snapshot history
memory-mcp snapshots

# Compare two snapshots
memory-mcp snapshot-diff abc123 def456

# Restore to a previous state
memory-mcp snapshot-restore abc123

# Disable (preserves existing snapshots)
memory-mcp snapshot-disable

工作原理:

  • 提交到 __memory-snapshots 分支(在常规工作流中不可见)
  • 可选推送到远程仓库(例如 origin)
  • 提交消息包含提取的记忆内容
  • 捕获整个项目状态,而不只是记忆文件

使用场景:

  • 在引入破坏性更改后回滚
  • 查看项目在特定会话期间的状态
  • 同时跟踪项目演进和上下文变化

MCP 工具(由 Claude 在对话过程中使用)

配置为 MCP 服务后,Claude 可以在会话期间使用以下工具:

工具描述
memory_search在所有记忆中进行关键词搜索
memory_related按标签或领域获取记忆
memory_ask提出问题,获取由大模型根据记忆综合生成的答案
memory_save手动保存一条记忆
memory_recall使用筛选条件列出所有记忆
memory_delete删除一条记忆
memory_consolidate触发记忆整合
memory_consciousness生成完整的意识文档
memory_stats显示记忆统计信息
memory_init设置项目名称和描述

存储内容

记忆分为六种类型:

architecture   "Next.js 14 app router with Supabase backend, Stripe for billing"
decision       "Chose server components for public pages because of SEO requirements"
pattern        "All API routes validate input with zod and return NextResponse"
gotcha         "Supabase RLS policy on word_lists requires user_id OR org_id, not both"
progress       "Auth complete, billing webhook handling in progress"
context        "Client wants launch by March, focus on core features only"

文件结构

初始化后,项目将包含:

your-project/
├── CLAUDE.md              ← auto-updated memory summary (read on session start)
├── .memory/
│   ├── state.json         ← full memory store
│   └── cursor.json        ← tracks what's been processed
├── .mcp.json              ← MCP server configuration
└── .claude/
    └── settings.json      ← hook configuration

CLAUDE.md 格式

记忆块会插入标记之间,同时保留现有的 CLAUDE.md 内容:


# MyProject
A brief description

_Last updated: 2026-01-27 | 45 active memories, 62 total_

## Architecture
- Next.js 14 app router with Supabase backend
- Auth via NextAuth with Google and email providers

## Key Decisions
- Chose server components for SEO pages
- Using Supabase RLS instead of API-level auth

## Patterns & Conventions
- All API routes use zod validation
- Tailwind only, no CSS modules

## Gotchas & Pitfalls
- RLS policy requires user_id OR org_id, not both

## Current Progress
- Auth: complete
- Billing: in progress

## Context
- Launch target: March

_For deeper context, use memory_search, memory_related, or memory_ask tools._

全局安装与按项目安装

全局安装(推荐):钩子会自动适用于所有项目。

memory-mcp setup  # select "global" when prompted

按项目安装:为每个项目配置钩子和 MCP。

memory-mcp init /path/to/project

配置

API 密钥按以下顺序读取:

  1. ANTHROPIC_API_KEY 环境变量
  2. ~/.memory-mcp/config.json
  3. ~/.config/anthropic/api_key
  4. ~/.anthropic/api_key

费用

提取器使用 Claude Haiku 提取并整合记忆。典型费用:

  • 每次提取约 $0.001(每次 Claude 回复后)
  • 每次整合约 $0.005(每约 10 次提取后)
  • 完整一天的编码:约 $0.05–0.10

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。