上下文内存MCP服务器
用于跟踪错误和解决方案的MCP服务器。不要重复失败的事情。
这是什么
上下文记忆是一个简单的工具,可以帮助克劳德从你过去的会话中学习。它存储了两件事:
- 错误 -失败的方法及其原因
- 解决方案 -你解决的问题以及如何解决
在尝试之前,克劳德可以检查一下你以前是否走过这条路。解决了一些棘手的问题后,你可以把它留到下次。
为什么存在
原始问题(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)
- 带有完整上下文保存系统的初始版本
许可证
麻省理工学院
