上下文记忆服务器

一个用于跟踪错误和解决方案的MCP服务器,帮助Claude从过去的会话中学习,避免重复失败。

  • by Dithilli
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Dithilli/context-memory-mcp

使用说明

上下文内存MCP服务器

用于跟踪错误和解决方案的MCP服务器。不要重复失败的事情。

这是什么

上下文记忆是一个简单的工具,可以帮助克劳德从你过去的会话中学习。它存储了两件事:

  1. 错误 -失败的方法及其原因
  2. 解决方案 -你解决的问题以及如何解决

在尝试之前,克劳德可以检查一下你以前是否走过这条路。解决了一些棘手的问题后,你可以把它留到下次。

为什么存在

原始问题(2025)

当这个项目开始时,Claude Code有一个显著的局限性:对话压缩。当上下文窗口填满时,Claude会压缩旧消息以腾出空间。这意味着失去了有价值的背景:

  • 你为什么选择一种方法而不是另一种
  • 您一路上发现的边缘案例
  • 失败的尝试和失败的原因
  • 专业代理之间的交接情况

最初的v0.x构建了一个复杂的系统来保存所有这些:笔记、文件决策、代理切换、问题缓存、会话管理。它奏效了,但很复杂。

发生了什么变化

克劳德·科德变得更聪明了。更聪明。

曾经破坏上下文的压缩现在保留了重要的内容。Claude保持自己对对话、代码库和所做决定的理解。v0.x所做的大部分工作都变得多余了——Claude现在可以原生处理了。

但有一件事克劳德仍然做不到: 从它不参与的会议中学习.

如果你上周花了两个小时调试一个身份验证问题,而今天在新的会话中遇到了同样的问题,Claude将从零开始。这将表明同样的失败方法。它不知道你已经尝试了什么。

v1.0重聚焦

1.0版本剥离了克劳德现在处理自己的一切,并专注于剩下的一个差距: 从失败中学习.

API从8个以上的工具扩展到4个:

工具 目的
mistake 记录你尝试了什么以及失败的原因
learned 保存一对有效的问题/解决方案
recall 搜索相关的过去背景
promote 将重要经验导出到CLAUDE.md

就是这样。简单、专注、有用。

安装

克劳德代码CLI

添加到您的项目 .mcp.json:

{
  "mcpServers": {
    "context-memory": {
      "command": "npx",
      "args": ["-y", "github:Dithilli/context-memory-mcp"]
    }
  }
}

克劳德桌面

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "context-memory": {
      "command": "npx",
      "args": ["-y", "github:Dithilli/context-memory-mcp"]
    }
  }
}

工具

mistake

记录一种不起作用的方法。

{
  "what": "Tried using localStorage for auth tokens",
  "why_failed": "XSS vulnerability - any script can read localStorage",
  "tags": ["security", "auth"],
  "files": ["src/auth/storage.ts"]
}

learned

保存一对问题/解决方案。

{
  "problem": "Supabase RLS returns empty array instead of 401",
  "solution": "Add explicit auth check before query - RLS fails silently",
  "tags": ["supabase", "auth"]
}

recall

查找过去的错误和解决方案。

{
  "query": "authentication",
  "tags": ["security"],
  "limit": 10
}

promote

将学习导出到CLAUDE.md以供永久参考。

{
  "id": "solution-123",
  "type": "solution"
}

存储

数据存储在 ~/.context-memory/ 默认情况下:

  • mistakes.jsonl -失败的方法
  • solutions.jsonl -工作解决方案

自定义位置

使用 --storage-dir 对于每个项目或自定义存储:

{
  "mcpServers": {
    "context-memory": {
      "command": "npx",
      "args": [
        "-y",
        "github:Dithilli/context-memory-mcp",
        "--storage-dir",
        ".context-memory"
      ]
    }
  }
}

项目自动检测

服务器会自动从git根目录检测您的项目,因此错误和解决方案会用项目上下文标记,而无需手动配置。

何时使用此

请将其用于:

  • “我们尝试了X,但失败了,因为Y”-节省了数小时的重复调试时间
  • 代码中不明显的棘手解决方案
  • 跨项目应用的模式

请勿将其用于:

  • 一般笔记(克劳德在一次会议中回忆)
  • 实现细节(这就是git历史的用途)
  • 显而易见的事情(相信克劳德能弄清楚)

从v0.x迁移

如果您有来自v0.x的数据,服务器将在首次运行时自动迁移它:

  • 老的 notes.jsonl 条目变成错误
  • 老的 problems.jsonl 条目成为解决方案
  • 移交和文件决策已存档(不再需要)

更新日志

v1.0.0(2026年1月23日)

  • 突破性变化: 将API简化为四种工具: mistake, learned, recall, promote
  • 从git根添加项目自动检测
  • 添加 promote 将学习导出到CLAUDE.md的工具
  • 从v0.x数据格式自动迁移
  • 删除了移交、注释和文件决策(Claude Code现在可以原生处理这些)

v0.2.0(2025-01-12)

  • 添加了可配置的存储目录(--storage-dir 选项)
  • 支持按项目存储

v0.1.0(2025-01-12)

  • 带有完整上下文保存系统的初始版本

许可证

麻省理工学院