还在为每次开新窗口AI就失忆而抓狂?这个开源方案让Claude、Cursor记住你的整个项目历史
🧠 一、Memory Bank MCP:给AI装上外接硬盘
1.1 能力评估:不止是记忆,更是“第二大脑”
Memory Bank MCP是一个开源项目生态,核心是为AI助手提供跨会话的持久化记忆。简单说,它让AI从“金鱼”(7秒记忆)变成“大象”(过目不忘)。
核心能力一览:
| 能力类别 | 具体功能 | 代表工具/接口 |
|---|---|---|
| 记忆读写 | 存储项目背景、决策、代码片段 | write_document、read_document、append_memory_bank_entry |
| 语义搜索 | 用自然语言查找相关代码和上下文 | search_documents_by_tags、memory_recall |
| 项目管理 | 多项目隔离、分支专属记忆 | list_projects、branch-specific memory bank |
| 进度追踪 | 记录任务、里程碑、待办事项 | track_progress、update_active_context |
| 决策记录 | 记录技术选型和架构决策 | log_decision、decisionLog.md |
| 知识图谱 | 实体关系管理(部分版本) | graph_upsert_entity、graph_link_entities |
不同版本的工具数量有所差异:
-
基础版(如@diazstg):12+ 个MCP工具
-
增强版(如@grec0):支持向量索引+语义搜索+多Agent协同
-
极简版(如memorybank):8个核心工具,零依赖
1.2 技术特点:极简主义与智能化的完美平衡
三种主流技术路线:
-
文件系统派(@ura-dev/memorybank)
-
零依赖,纯Markdown存储
-
记忆文件位置:
~/.memorybank/{namespace}/{type}/{id}.md -
设计哲学:人类可读,开发者可控
-
-
向量检索派(@grec0/memory-bank-mcp)
-
使用OpenAI Embeddings + LanceDB
-
AST解析代码,智能分块
-
支持语义搜索:“认证是怎么实现的?”→返回相关代码
-
Map-Reduce自动摘要,处理超大项目
-
-
结构化文档派(主流实现)
-
标准化的5-6个Markdown文件体系:
-
productContext.md:产品目标和用户故事 -
activeContext.md:当前任务和焦点 -
progress.md:已完成工作的历史记录 -
decisionLog.md:重要决策及理由 -
systemPatterns.md:架构和代码规范
-
-
1.3 应用场景:谁需要这个“外接硬盘”?
-
独立开发者:维护多个开源项目,每个项目的技术栈、架构决策不再需要重复解释
-
团队协作:共享项目“大脑”,新成员入职时AI直接提供完整项目上下文
-
长期复杂项目:跨数月的开发,AI记住每一步的演进和踩坑经验
-
跨工具工作流:Cursor编码 + Claude讨论架构,同一个记忆库无缝切换
📦 二、安装与部署:5分钟上手,全平台覆盖
2.1 前置要求
-
Node.js 18+(下载地址)
-
可选:OpenAI API Key(使用向量版本时需要)
2.2 三种安装方式对比
| 方式 | 命令 | 适用场景 |
|---|---|---|
| NPX(推荐) | npx @grec0/memory-bank-mcp@latest |
快速体验,无需安装 |
| 全局安装 | npm install -g @diazstg/memory-bank-mcp |
长期使用,便于管理 |
| 源码编译 | git clone + npm install + npm run build |
二次开发或定制 |
2.3 各系统完整配置流程
🪟 Windows系统
1. 安装Node.js
-
访问 nodejs.org 下载LTS版本安装包
-
运行安装程序,勾选“自动安装必要工具”
2. 配置Cursor(推荐IDE)
-
打开Cursor,进入
File → Preferences → Settings -
搜索“MCP”,找到MCP Servers配置
-
添加新服务器,填写:
Name: memory-bank Type: stdio Command: npx Arguments: @grec0/memory-bank-mcp@latest
-
环境变量配置(可选):
OPENAI_API_KEY=sk-xxxxx MEMORYBANK_STORAGE_PATH=C:\Users\你的用户名\.memorybank
3. 配置文件位置
-
Cursor MCP配置:
%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json -
Claude Desktop配置:
%APPDATA%\Claude\claude_desktop_config.json
4. 常见问题修复
-
问题:
node is not recognized-
解决:重启终端,或手动将Node.js路径添加到系统PATH
-
-
问题:
EACCES: permission denied-
解决:以管理员身份运行终端,或修改
.memorybank目录权限
-
🍎 macOS系统
1. 安装Node.js(推荐使用Homebrew)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install node
2. 配置Claude Desktop
-
编辑配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json -
添加以下内容:
{ "mcpServers": { "memory-bank": { "command": "npx", "args": ["@grec0/memory-bank-mcp@latest"], "env": { "OPENAI_API_KEY": "sk-your-key-here", "MEMORYBANK_STORAGE_PATH": "~/.memorybank" } } } }
3. 配置Cursor
-
配置文件:
~/.cursor/mcp.json
{ "mcpServers": { "memory-bank-mcp": { "type": "stdio", "command": "npx", "args": ["@diazstg/memory-bank-mcp", "--username", "your-github-username"] } } }
4. 权限问题解决
-
如果遇到文件访问权限错误:
chmod -R 755 ~/.memorybank
🐧 Linux系统(Ubuntu/Debian)
1. 安装Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs
2. 配置VSCode + Roo Code
-
配置文件:
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
{ "mcpServers": { "roo-code-memory-bank": { "command": "npx", "args": ["-y", "@pratikbin/memory-bank-mcp"], "env": { "MEMORY_BANK_ROOT": "~/projects/memory-bank-root" } } } }
3. 验证安装
npx @grec0/memory-bank-mcp@latest --help
2.4 Docker部署(团队共享场景)
# docker-compose.yml services: memory-bank: image: bsmi021/mcp-memory-bank:latest ports: - "3000:3000" volumes: - ./memory-data:/app/data environment: - CHROMA_DB_PATH=/app/data/chroma - MEMORYBANK_STORAGE_PATH=/app/data chromadb: image: chromadb/chroma:latest ports: - "8000:8000" volumes: - ./chroma_data:/chroma/chroma
启动命令:
docker-compose up -d
🛠️ 三、配套客户端:无缝集成主流AI工具
3.1 支持的客户端一览
| 客户端 | 付费情况 | 配置难度 | 推荐指数 |
|---|---|---|---|
| Cursor | 免费试用/付费 | ⭐ 简单 | ⭐⭐⭐⭐⭐ |
| Claude Desktop | 付费订阅 | ⭐⭐ 中等 | ⭐⭐⭐⭐⭐ |
| Roo Code (VSCode扩展) | 免费 | ⭐ 简单 | ⭐⭐⭐⭐ |
| Cline (VSCode扩展) | 免费 | ⭐ 简单 | ⭐⭐⭐⭐ |
| Claude Code (CLI) | 付费订阅 | ⭐⭐⭐ 较复杂 | ⭐⭐⭐ |
3.2 客户端配置速查
Cursor(最简单)
-
打开Cursor设置(Cmd+,)
-
找到
Features → MCP -
点击“+ Add New MCP Server”
-
填入:
npx @grec0/memory-bank-mcp@latest -
重启Cursor
Claude Desktop
-
打开配置文件:
-
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json -
Windows:
%APPDATA%\Claude\claude_desktop_config.json
-
-
添加配置(见上文示例)
-
完全退出Claude Desktop(Cmd+Q)后重启
下载地址汇总
🎯 四、案例讲解:从零开始搭建AI协作的“项目大脑”
场景设定
你正在开发一个开源项目“AI知识库助手”(AIKB),需要AI记住:
-
项目技术栈:Next.js + Supabase + OpenAI
-
架构决策:使用PostgreSQL作为主数据库
-
当前任务:实现文档上传和向量化功能
4.1 初始化Memory Bank
对话AI:
“帮我初始化一个新项目的Memory Bank,项目名称叫AIKB,这是一个基于Next.js的知识库问答系统,主要功能是让用户上传文档并基于文档内容回答问题。”
AI自动调用工具:
// AI后台执行的MCP调用 { "tool": "initialize_memory_bank", "arguments": { "projectId": "AIKB", "description": "基于Next.js的知识库问答系统" } }
生成的文件结构:
memory-bank/ ├── AIKB/ │ ├── productContext.md # 产品目标、用户故事 │ ├── activeContext.md # 当前焦点 │ ├── progress.md # 进度记录 │ ├── decisionLog.md # 决策日志 │ └── systemPatterns.md # 架构模式
4.2 记录技术决策
对话AI:
“我们决定使用Supabase作为后端,PostgreSQL存储用户数据,Pgvector做向量检索。请把这个决策记录到决策日志中,并说明选择理由。”
AI执行:
{ "tool": "log_decision", "arguments": { "projectId": "AIKB", "title": "选择Supabase + Pgvector作为技术栈", "rationale": "Supabase提供开箱即用的PostgreSQL,Pgvector原生支持向量检索,减少基础设施维护成本", "alternatives": ["Pinecone(成本高)", "Weaviate(需自建)"] } }
生成的decisionLog.md片段:
## 2026-04-01: 选择Supabase + Pgvector作为技术栈 **决策者:** 开发团队 **理由:** Supabase提供开箱即用的PostgreSQL,Pgvector原生支持向量检索,减少基础设施维护成本 **考虑的替代方案:** - Pinecone:托管服务成本较高 - Weaviate:需要自建和维护 **结论:** 采用Supabase作为后端服务
4.3 更新当前任务状态
对话AI:
“我完成了文档上传接口的开发,现在开始做向量化处理。请更新activeContext,标记上传接口已完成,当前任务改为‘实现文档向量化’。”
AI执行:
{ "tool": "update_active_context", "arguments": { "projectId": "AIKB", "currentTask": "实现文档向量化处理", "completedItems": ["文档上传API"], "nextSteps": ["集成OpenAI Embeddings", "实现向量存储"] } }
4.4 跨会话恢复上下文
第二天打开新窗口,直接问AI:
“继续昨天的AIKB项目,向量化那部分做到哪了?”
AI自动调用:
{ "tool": "read_context", "arguments": { "projectId": "AIKB", "include": ["activeContext", "progress", "decisionLog"] } }
AI回答:
“根据Memory Bank,你昨天完成了文档上传API的开发,当前任务是‘实现文档向量化处理’。下一步计划是集成OpenAI Embeddings和实现向量存储。另外,技术决策记录显示你们选择了Supabase + Pgvector作为向量数据库方案。需要我帮你开始写向量化代码吗?”
4.5 完整工作流代码示例
如果你想在自己的项目中编程调用Memory Bank:
// 使用@pratikbin/memory-bank-mcp库 import { MemoryBankServer } from '@pratikbin/memory-bank-mcp'; const server = new MemoryBankServer({ memoryBankRoot: './my-memory-bank' }); // 写入文档 await server.writeDocument({ scope: 'branch', projectId: 'AIKB', path: 'activeContext.md', content: ` # 当前活跃上下文 ## 当前任务 - 实现文档向量化处理 ## 已完成 - [x] 文档上传API ## 待办 - [ ] OpenAI Embeddings集成 - [ ] Pgvector向量存储 `, tags: ['context', 'active'] }); // 搜索记忆 const results = await server.searchDocumentsByTags({ projectId: 'AIKB', tags: ['decision'], limit: 5 }); console.log(results);
💰 五、使用成本与商业价值:开源免费的“记忆外挂”
5.1 成本评估
| 成本项 | 免费版 | 付费方案 | 说明 |
|---|---|---|---|
| 软件许可 | ✅ 免费 | MIT协议 | 可商用,无限制 |
| 存储空间 | 本地存储 | 0元 | 取决于项目规模,10万文件约10MB |
| API调用 | 基础版0元 | 向量版需OpenAI Key | 使用@grec0版本时,每次索引产生API费用 |
| 部署维护 | 自托管0元 | Docker云部署 | 可选云服务器成本(约$5/月) |
API成本估算(使用向量版本):
-
索引1000个文件:约$0.5-$1(取决于文件大小)
-
单次语义搜索:约$0.001
5.2 收益分析
时间节省(按周计算):
-
不再重复解释项目背景:每周节省1-2小时
-
无需反复调试相同问题:每周节省2-3小时
-
上下文切换更快:每周节省1小时
价值量化(以开发者时薪$50计算):
-
每周节省4小时 = $200/周
-
年化收益 ≈ $10,000/年/开发者
团队协作收益(5人团队):
-
减少沟通成本30%
-
新人上手时间缩短50%
-
知识沉淀自动化,避免信息丢失
5.3 版本选择建议
| 需求场景 | 推荐版本 | 理由 |
|---|---|---|
| 个人开发者,小项目 | @ura-dev/memorybank |
零依赖,极简,够用 |
| 中型项目,需语义搜索 | @grec0/memory-bank-mcp |
向量检索,代码理解能力强 |
| 团队协作,多项目管理 | @pratikbin/memory-bank-mcp |
Web界面,多项目隔离 |
| 需要远程访问 | @diazstg/memory-bank-mcp |
SSH支持,集中部署 |
📝 总结与展望
Memory Bank MCP的出现,解决了AI开发中最令人头疼的“上下文断裂”问题。它不是简单的“保存对话”,而是构建了一个结构化的项目知识库——就像给你的AI助手配了一个笔记本,它会自动记录、回忆、推理。
三个核心价值:
-
生产力提升:告别重复解释,AI真正成为“老员工”
-
知识资产化:项目的每个决策、每次演进都被记录为可检索的资产
-
工具自由:基于MCP协议,可在Cursor、Claude、VSCode间无缝切换
未来展望:
-
更智能的语义摘要(已有Map-Reduce实现)
-
跨项目的知识迁移和复用
-
与Git深度集成,自动从commit历史提取上下文
如果你厌倦了每次开新窗口都要给AI“重新入职培训”,不妨花5分钟配置一个Memory Bank——这可能是一个开发者能做的、ROI最高的工具投资。

关注 “悠AI” 更多干货技巧行业动态