在与 AI 助手如 Claude 长期协作时,一个反复出现的痛点始终存在:每一次新对话都是一次“重启”,之前达成的共识、项目的上下文、关键的设计决策,全部归零。你需要一遍遍地重新解释项目背景、架构细节和当前进度。Memory Bank MCP Server 的出现,正是为了彻底消除这种重复劳动。它为 AI 代理内置了一个持久化的“记忆库”,让跨会话的项目知识管理变得结构化、自动化且始终可追溯。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | Memory Bank MCP Server |
| GitHub 地址 | https://github.com/t3ta/memory-bank-mcp-server |
| 项目描述 | 通过全局和分支特定的记忆库,管理跨 AI 会话的项目文档和上下文,实现一致的知识管理 |
| 作者 | t3ta |
| 开源协议 | MIT License |
| 开源状态 | 公开状态 |
| Languages | TypeScript |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2025-05-19 |
一、项目介绍
Memory Bank MCP Server 是一个专门为 AI 代理设计的结构化知识管理系统。它的设计灵感来源于 Cline 记忆库,由一个 Yarn 工作区管理的单体仓库构成,核心包含三个组件:
- 核心 MCP 服务器:处理记忆库操作的逻辑,执行 MCP 工具调用。
- JSON 模式定义:定义了记忆库文档的结构,确保存储和检索的一致性。
- VS Code 扩展:为编辑器提供与记忆库的直接集成。
核心工作流
该项目使用了两个级别的记忆库来组织知识:
- 全局记忆库 (global-memory-bank):存放跨所有分支、影响整个项目的通用信息。例如项目的整体架构、技术栈选择、团队约定等。
- 分支记忆库 (branch-memory-bank):存放特定于某个 Git 分支的上下文。例如当前正在开发的功能点、此分支特有的临时决策、尚未合并的变更说明。
当 AI 代理开始一个会话时,它可以先读取全局记忆库了解项目背景,再读取当前分支的记忆库获取最新进展,从而在几秒钟内精确恢复上一次会话的完整上下文。这种双层结构让知识的组织既有整体视角,又不失细节的灵活性。
二、核心优势
真正的跨会话知识连续性
这是 Memory Bank 最根本的价值。它将 AI 对话中产生的关键信息——决策、发现、进度、约定——持久化到结构化的 JSON 文件中。这不是简单的“聊天记录保存”,而是经过提炼和结构化的项目知识。下次开启新会话时,你不需要重新解释任何东西,AI 直接从记忆库中读取即可恢复全部上下文。
全局与分支的双层知识架构
这种分层方式与软件开发的最佳实践自然契合。全局记忆库像是项目的“宪法”,记录不常变化的稳定知识;分支记忆库像是“工作笔记”,记录当前正在推进的具体事项。两者互不干扰,又能通过 AI 代理的综合阅读形成完整视图。
结构化 JSON 存储
记忆内容以 JSON 格式持久化,具有明确的模式定义。这意味着:
- 人和机器都能轻松阅读和编辑
- 可以被版本控制系统跟踪差异
- 可以被其他工具解析和集成
- 可以随着项目演进不断扩展
与 AI 工作流的自然融合
该 MCP 服务器需要指定一个文档目录路径。这个目录可以被纳入 Git 仓库管理,所有团队成员共享。开发者提交代码时,可以同步提交记忆库的更新,实现“代码 + 上下文”的同步演进。
MIT 开源协议
采用完全商业友好的 MIT 协议,适合个人和团队在任何类型的项目中使用。
三、适用场景
持续性项目开发
场景:你正在开发一个持续数周的功能。每天开始工作时,AI 从记忆库中读取:当前进度、昨天遇到的 bug、需要继续完成的任务——然后无缝接续工作。
多分支并行管理
场景:你在主干上维护稳定版本,在特性分支上开发新功能。不同分支的记忆库各自独立,AI 在切换分支时自动加载对应的上下文。
团队知识共享
场景:新成员加入团队。他们可以通过让 AI 读取全局记忆库,快速了解项目架构、技术栈、团队约定和关键决策历史。
复杂决策的记录与回溯
场景:在项目进行中,团队做出了一个重要的技术决策。AI 将该决策记录到全局记忆库中,包括原因、背景和相关讨论。几周后,任何人问“我们为什么选这个方案”,AI 都能给出准确答案。
VS Code 深度集成
场景:在 VS Code 中直接通过扩展管理记忆库,查看、编辑或创建新的记忆文档,与编辑体验无缝融合。
四、安装教程
环境要求
| 工具 | 用途 | 版本要求 |
|---|---|---|
| Node.js | 运行时 | 推荐 .tool-versions 中指定的版本 |
| Yarn | 包管理器 | v1.x |
| Git | 版本控制 | 用于克隆仓库和配合分支记忆库 |
安装步骤
1. 克隆仓库
git clone https://github.com/t3ta/memory-bank-mcp-server.git
cd memory-bank-mcp-server2. 安装依赖
yarn install3. 运行 MCP 服务器
yarn workspace @memory-bank/mcp start --docs /path/to/your/docs将 /path/to/your/docs 替换为你希望存储记忆库文档的目录路径。该目录下会创建 global-memory-bank 和 branch-memory-bank 两个子目录。
开发命令
# 构建所有包
yarn build
# 运行所有测试
yarn test
# 代码检查
yarn lint与 MCP 客户端集成
在 Claude Desktop 的配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)中添加:
{
"mcpServers": {
"memory-bank": {
"command": "node",
"args": ["/path/to/memory-bank-mcp-server/packages/mcp/dist/index.js", "--docs", "/path/to/your/docs"]
}
}
}路径部分需替换为你本机的实际路径。配置完成后重启 Claude Desktop 即可生效。
五、使用示例
示例一:启动新会话,恢复上下文
用户:今天继续开发用户认证功能。帮我回顾一下目前的进度。
AI 读取分支记忆库中记录的上次进度、未完成任务和已知问题,回复:“根据记忆库记录,上次会话你完成了密码重置流程的开发,测试已通过。当前有一个未完成任务是集成 OAuth 登录,以及一个已知 bug:token 刷新在某些情况下失败。你想从哪个任务开始?”
示例二:记录重要决策
用户:我们决定将缓存层从 Redis 迁移到 Memcached。把这条决策记录到全局记忆库中。
AI 调用记忆库的存储工具,在全局记忆库中创建一条结构化的决策记录,包括决策内容、日期、影响范围和相关背景。
示例三:分支切换,上下文同步
用户:切换到 feat/payment-integration 分支,帮我加载那个分支的上下文。AI 读取 feat/payment-integration 对应的分支记忆库,加载该分支特有的功能说明、当前进度和待解决问题。
示例四:为新成员生成项目全景图
用户:新同事刚加入团队,根据我们的全局记忆库,给他生成一份项目架构和约定的介绍文档。
AI 读取全局记忆库中的架构、技术栈、团队约定等信息,自动生成一份结构清晰的新人学习指南。
六、常见问题
问:记忆库数据存储在哪里?
答:数据存储在你通过 --docs 参数指定的目录下。该目录包含两个子目录:global-memory-bank/ 和 branch-memory-bank/,分别存放全局和分支记忆文档。所有文件均为 JSON 格式。
问:如何配合 Git 使用?
答:你可以将 --docs 目录纳入 Git 仓库管理。在提交代码时,同步提交记忆库的更新。建议在 .gitignore 中不要忽略该目录,这样团队其他成员 pull 代码时也能同步获取最新的上下文。
问:全局记忆库和分支记忆库如何协调?
答:全局记忆库存放不随分支变化的稳定知识(如项目架构),分支记忆库存放特定于当前分支的临时上下文(如当前功能进度)。AI 通常先读取全局记忆库了解项目全貌,再读取分支记忆库获取当前开发状态,综合后形成完整上下文。
问:存储格式是 JSON,我能手动编辑吗?
答:可以。JSON 格式的设计目标之一就是方便手动阅读和修改。你可以在 VS Code 中直接打开记忆库文件进行编辑。项目的 schema 包定义了文档的结构规范,建议编辑时遵循这些规范以保证兼容性。
问:需要为每个项目单独运行一个 MCP 服务器吗?
答:是的。每个项目拥有独立的记忆库目录,通过 --docs 参数区分。这确保了项目之间的上下文隔离。
七、总结
Memory Bank MCP Server 补上了 AI 辅助开发中最为关键的一块拼图:跨会话的持久化记忆和结构化知识管理。它不生成代码,不回答问题,但它确保你的 AI 代理在任何时候都精确知道“我们是谁,我们在做什么,我们做到了哪里”。
对于长期项目的开发者,花半小时完成初始配置,并在几个开发周期中养成“让 AI 记录关键上下文”的习惯,你会发现 AI 从一个善忘的工具,变成了真正理解你项目的得力伙伴。
虽然核心功能稳定,但希望能更深入地整合到常见的开发工作流中。
如果能自动提取Git分支名匹配对应的记忆库,就不用手动指定了。
跨会话记忆管理的实现方式很多,但以MCP服务器形式提供,是最灵活的一种。
VS Code扩展能做好的话,能实现编辑器内直接查看记忆库、编辑条目、创建新记忆。
我正在把它集成到团队标准开发环境中,作为项目知识管理的基础设施。