claude-dev-memory
Provides Claude Code with cross-session long-term memory via Letta, allowing it to read and store project context, learnings, and decisions.
README
Claude Dev Memory
讓 Claude Code 具備跨 session 的長期記憶能力
痛點
Session 1 Session 2
┌─────────────────┐ ┌─────────────────┐
│ 學到了解法 A │ /clear │ 這問題怎麼解? │ ← 學習消失
│ 決定用架構 B │ ───────> │ 要用什麼架構? │ ← 決策遺失
│ 專案進度 70% │ │ 做到哪了? │ ← 進度歸零
└─────────────────┘ └─────────────────┘
Claude Code 的限制:
- 每次
/clear或新 session 就完全失憶 - 過去的學習和決策無法累積
- 沒有工具可以主動保存重要資訊
解決方案
這個 MCP Server 提供 5 個工具,讓 Claude 可以主動讀寫長期記憶:
| 工具 | 用途 |
|---|---|
memory_status |
查看記憶系統狀態 |
memory_recall |
讀取 Core Memory |
memory_update |
更新 Core Memory |
memory_archive |
存入 Archival Memory(完整文件) |
memory_search |
語意搜尋歷史記錄 |
記憶架構
┌─────────────────────────────────────────────────────────────────┐
│ Core Memory │
│ (小而重要,~2000 tokens) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ project │ │ learnings │ │ decisions │ │
│ │ 專案概述 │ │ 學習紀錄 │ │ 架構決策 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Archival Memory │
│ (大而完整,無限制) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ specs │ │ commits │ │learnings│ │decisions│ │
│ │完整規格 │ │提交記錄 │ │詳細筆記 │ │完整文檔 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
設計理念:
- Core Memory:摘要性質,每次對話都載入,讓 Claude 快速了解專案
- Archival Memory:完整內容,需要時搜尋取用,保留所有細節
與 claude-memory-hook 的關係
這兩個工具是互補的:
| 工具 | 類型 | 職責 |
|---|---|---|
| claude-memory-hook | Hook | 啟動時顯示狀態(被動) |
| claude-dev-memory | MCP Server | 提供讀寫記憶工具(主動) |
┌─────────────────────────────────────────────────────────────────┐
│ claude-memory-hook │
│ → Session 開始時自動執行 │
│ → 顯示 Git、規格進度、Letta 記憶摘要、提醒 │
├─────────────────────────────────────────────────────────────────┤
│ claude-dev-memory(本專案) │
│ → 提供 MCP 工具讓 Claude 主動讀寫記憶 │
│ → memory_recall / memory_update / memory_archive / memory_search│
└─────────────────────────────────────────────────────────────────┘
安裝
npm install -g claude-dev-memory
或使用 npx(無需安裝):
npx claude-dev-memory
配置
1. 取得 Letta API Key
- 前往 Letta Cloud
- 註冊帳號並取得 API Key
- 建立 Agent 並記下 Agent ID
2. 配置 Claude Code
claude mcp add claude-dev-memory -s user -- npx claude-dev-memory
設定環境變數:
# 在 shell profile 或專案 .env 中
export LETTA_API_KEY=sk-let-xxxxx
export LETTA_AGENT_ID=agent-xxxxx
或使用 JSON 配置(~/.claude.json):
{
"mcpServers": {
"claude-dev-memory": {
"command": "npx",
"args": ["claude-dev-memory"],
"env": {
"LETTA_API_KEY": "your-api-key",
"LETTA_AGENT_ID": "agent-xxxxx"
}
}
}
}
工具詳細說明
memory_status
查看記憶系統狀態。
回傳:連線狀態、Core Memory 使用量、Archival 記錄數
memory_recall
讀取 Core Memory,恢復專案上下文。
| 參數 | 類型 | 說明 |
|---|---|---|
| block | string | all、project、learnings、decisions |
memory_update
更新 Core Memory,記錄專案進度和決策。
| 參數 | 類型 | 說明 |
|---|---|---|
| block | string | project、learnings、decisions |
| content | string | 完整替換內容 |
| append | string | 附加內容(二選一) |
| auto_summarize | boolean | 超過限制時自動摘要(預設 false) |
memory_archive
存入 Archival Memory,保存完整文檔。
| 參數 | 類型 | 說明 |
|---|---|---|
| content | string | 要存檔的內容 |
| type | string | spec、commit、learning、decision |
| tags | string[] | 標籤陣列(方便搜尋) |
memory_search
搜尋 Archival Memory,找出相關記錄。
| 參數 | 類型 | 說明 |
|---|---|---|
| query | string | 搜尋關鍵字 |
| filter | string | all、spec、commit、learning、decision |
| limit | number | 回傳筆數上限(預設 5) |
| min_relevance | number | 最低相關度 0-1(預設 0.7) |
MCP Resource
letta://memory/core
被動讀取 Core Memory 內容,回傳 JSON 格式的完整記憶資料。
使用情境
Session 開始時恢復上下文
Claude 使用 memory_recall 讀取 project 區塊
→ 立即了解專案背景,無需重新解釋
完成重要決策後記錄
Claude 使用 memory_update 更新 decisions 區塊
→ 下次 session 仍記得這個決策
保存完整 spec 文檔
Claude 使用 memory_archive,type 設為 spec
→ 完整內容存入 Archival,可語意搜尋
遇到類似問題時搜尋
Claude 使用 memory_search 搜尋相關記錄
→ 找出過去的解法,避免重複踩坑
與官方 letta-mcp 的差異
| 面向 | 官方 letta-mcp | claude-dev-memory |
|---|---|---|
| 目標用戶 | 通用 AI 應用 | Claude Code 開發者 |
| Memory 結構 | 單一 human block | project / learnings / decisions |
| Agent 策略 | 自動建立 per user | 指定現有 Agent |
| 額外功能 | - | Token 計算、狀態檢查、類型標籤 |
環境變數
| 變數 | 說明 | 預設值 |
|---|---|---|
| LETTA_API_KEY | Letta Cloud API Key | (必填) |
| LETTA_AGENT_ID | 指定使用的 Agent ID | (選填) |
| LETTA_BASE_URL | Letta API URL | https://api.letta.com |
專案配置
可在專案目錄建立 .claude/letta.json 覆蓋全域設定:
{
"agent_id": "agent-xxx"
}
開發
git clone https://github.com/miles990/claude-dev-memory.git
cd claude-dev-memory
npm install # 安裝依賴
npm run build # 編譯
npm test # 測試
npm run dev # 開發模式
相關專案
- claude-memory-hook - Session 啟動時自動載入記憶狀態的 Hook
- Letta (MemGPT) - 長期記憶後端
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。