Memory Bank MCP 仓库详细介绍
欢迎阅读 Memory Bank MCP 的详细介绍文档。此文档旨在为开发人员和组织提供全面的指导,以便有效使用此强大的工具管理记忆库。
Memory Bank MCP 是由 movibe 开发的用于管理 Memory Bank 的 Model Context Protocol (MCP) 服务器,协助 AI 助手在多次交互中存储及检索信息,实现跨会话的上下文管理。
Memory Bank MCP 是由 movibe 开发的用于管理 Memory Bank 的 Model Context Protocol (MCP) 服务器,协助 AI 助手在多次交互中存储及检索信息,实现跨会话的上下文管理。
仓库概况
- 仓库名称: Memory Bank MCP
- 作者: movibe
- 仓库链接: Memory Bank MCP GitHub 仓库
- 项目描述: Memory Bank MCP 是一款用于管理记忆库的 MCP 服务器,支持人工智能助手在多次会话中保存和检索信息。
项目概览 📋
Memory Bank MCP 提供了一套丰富的工具和资源,使 AI 助手能够更好地与记忆库互动。记忆库是结构化的信息存储库,帮助 AI 助手保留上下文信息,并在多次交互中跟踪进度。
功能概述 ✨
Memory Bank MCP 提供了一系列强大而灵活的功能,使开发人员能够高效地管理和操控记忆库:
- 记忆库管理: 初始化、查找和管理记忆库,使项目管理更加高效。
- 文件操作: 支持记忆库中的文件读写操作,让信息存储更加便捷。
- 进度跟踪: 跟踪项目进度并更新记忆库内的文件,提高项目管理的透明度。
- 决策记录: 支持记录重要决策及其上下文和备选方案。
- 活动上下文管理: 维护和更新当前活跃的上下文信息,确保项目的一致性。
- 模式支持: 能够检测并使用
.clinerules
文件,实现模式特定的行为。 - UMB 命令: 通过 UMB 命令暂时更新记忆库文件。
- 可靠的错误处理: 在可行的情况下优雅地处理错误,确保系统的持续运行。
- 状态前缀系统: 提供记忆库操作状态的即时可视化,提升用户体验。
目录结构 📁
默认情况下,Memory Bank 使用项目根目录下的
memory-bank
目录。当您使用 --path
选项指定项目路径时,记忆库将在 <project_path>/memory-bank
创建或访问。您也可以使用
--folder
选项自定义记忆库文件夹的名称。例如,若设置 --folder custom-memory
,记忆库将在 <project_path>/custom-memory
创建或访问。如需定制文件夹名称的详细信息,请参阅 自定义记忆库文件夹名称。
最近改进 🛠️
为了提升使用体验和功能性,Memory Bank MCP 最近进行了多项改进:
- 可定制的文件夹名称: 现在可以为记忆库指定自定义的文件夹名称。
- 一致的目录结构: 记忆库始终使用配置的文件夹名称,保持项目根目录结构一致。
- 增强的初始化功能: 现在,即使
.clinerules
文件不存在,记忆库也能够正常工作。 - 更好的路径处理: 改进了绝对路径和相对路径的处理。
- 改进的目录检测: 提升了对现有记忆库目录的检测能力。
- 更强大的错误处理: 优雅处理与
.clinerules
文件相关的错误。
如需更多详情,请参阅 Memory Bank Bug 修复。
安装步骤 🚀
使用下面的命令进行安装:
# 从 npm 安装
npm install @movibe/memory-bank-mcp
# 或者全局安装
npm install -g @movibe/memory-bank-mcp
# 或直接使用 npx 运行(无需安装)
npx @movibe/memory-bank-mcp
使用 npx 运行 💻
您可以使用 npx 直接运行 Memory Bank MCP 而无需安装:
# 使用默认设置运行
npx @movibe/memory-bank-mcp
# 使用特定模式运行
npx @movibe/memory-bank-mcp --mode code
# 使用自定义项目路径运行
npx @movibe/memory-bank-mcp --path /path/to/project
# 使用自定义文件夹名称运行
npx @movibe/memory-bank-mcp --folder custom-memory-bank
# 显示帮助信息
npx @movibe/memory-bank-mcp --help
有关使用 npx 的详细信息,请参阅 npx 使用方法。
在 Cursor 中配置 🖱️
Cursor 是一款支持 Model Context Protocol (MCP) 的 AI 驱动代码编辑器。要在 Cursor 中配置 Memory Bank MCP:
-
使用 npx 配置 Memory Bank MCP:
无需全局安装包,您可以直接使用 npx:
# 验证 npx 是否正常工作 npx @movibe/memory-bank-mcp --help
-
打开 Cursor 设置:
- 进入设置 (⚙️) > 扩展 > MCP
- 点击“添加 MCP 服务器”
-
配置 MCP 服务器:
- 名称: Memory Bank MCP
- 命令: npx
- 参数:
(或其他所需模式)@movibe/memory-bank-mcp --mode code
-
保存并激活:
- 点击“保存”
- 启用 MCP 服务器,通过切换开关打开
-
验证连接:
- 在 Cursor 中打开项目
- Memory Bank MCP 现在应该在您的 AI 交互中处于激活状态
有关详细说明和在 Cursor 中的高级用法,请参阅 cursor 集成。
在 Cursor 中使用 🤖
配置之后,您可以通过 AI 命令在 Cursor 中与 Memory Bank MCP 互动:
- 初始化记忆库:
/mcp memory-bank-mcp initialize_memory_bank path=./memory-bank
- 跟踪进度:
/mcp memory-bank-mcp track_progress action="特性实现" description="实现了特性 X"
- 记录决策:
/mcp memory-bank-mcp log_decision title="API 设计" context="..." decision="..."
- 切换模式:
/mcp memory-bank-mcp switch_mode mode=code
MCP 模式及其用途 🔄
Memory Bank MCP 支持不同的操作模式,以优化 AI 交互以完成特定任务:
可用模式
-
代码模式 👨💻
- 关注点: 代码实现和开发
- 使用方式:
npx @movibe/memory-bank-mcp --mode code
- 最适合: 编写、重构和优化代码
-
架构模式 🏗️
- 关注点: 系统设计和架构
- 使用方式:
npx @movibe/memory-bank-mcp --mode architect
- 最适合: 规划项目结构,设计组件,做出架构决策
-
询问模式 ❓
- 关注点: 解答问题和提供信息
- 使用方式:
npx @movibe/memory-bank-mcp --mode ask
- 最适合: 获取解释、澄清和信息
-
调试模式 🐛
- 关注点: 故障排除和问题解决
- 使用方式:
npx @movibe/memory-bank-mcp --mode debug
- 最适合: 找出并修复错误,分析问题
-
测试模式 ✅
- 关注点: 测试和质量保证
- 使用方式:
npx @movibe/memory-bank-mcp --mode test
- 最适合: 编写测试,测试驱动开发
切换模式
您可以通过以下方式切换模式:
-
启动服务器时:
npx @movibe/memory-bank-mcp --mode architect
-
会话期间:
memory-bank-mcp switch_mode mode=debug
-
在 Cursor 中:
/mcp memory-bank-mcp switch_mode mode=test
-
使用 .clinerules 文件: 在您的项目中文件中创建
.clinerules-[mode]
文件,系统检测到该文件时自动切换到相应模式。
Memory Bank MCP 工作原理 🧠
Memory Bank MCP 构建在 Model Context Protocol (MCP) 之上,使得 AI 助手能够与外部工具和资源进行智能交互。具体工作机制如下:
核心组件 🧩
-
记忆库: 用于存储结构化信息的仓库,文件格式为 Markdown:
product-context.md
: 项目整体信息和目标active-context.md
: 当前状态、正在进行的任务和下一步计划progress.md
: 项目更新和里程碑的历史记录decision-log.md
: 重要决策的记录,包括上下文和理由system-patterns.md
: 项目中使用的架构和代码模式
-
MCP 服务器: 为 AI 助手与记忆库的交互提供工具和资源:
- 独立运行的进程
- 通过 MCP 协议与 AI 助手通信
- 提供一套记忆库管理工具
-
模式系统: 支持不同操作模式:
code
: 专注于代码实现ask
: 专注于回答问题architect
: 专注于系统设计debug
: 专注于调试问题test
: 专注于测试
数据流 🔄
- 初始化: AI 助手连接 MCP 服务器并初始化一个记忆库
- 工具调用: AI 助手调用 MCP 服务器提供的工具,以读写记忆库文件
- 上下文维护: 记忆库在会话之间维护上下文,使 AI 能够记住之前的决策和进展
记忆库结构 📂
记忆库采用标准化结构来组织信息:
- 产品上下文: 项目概述、目标、技术和架构
- 活动上下文: 当前状态、正在进行的任务、已知问题和下一步
- 进度: 项目更新和里程碑的时间记录
- 决策记录: 重要决策的记录,包括上下文、备选方案和结果
- 系统模式: 架构模式、代码模式和文档模式
高级功能 🚀
- UMB 命令: 在会话期间临时更新记忆库文件,不提交更改
- 模式检测: 根据用户输入自动检测和切换模式
- 文件迁移: 提供在不同文件命名约定之间迁移的工具
- 语言标准化: 所有记忆库文件都以英文生成,以确保一致性
版本控制 📌
本项目遵循语义版本控制并使用Conventional Commits进行提交信息管理。版本号根据提交信息自动更新,并在更改合并到主分支时生成变更日志。
- 主版本: 当有重大变化时(提交信息包含
BREAKING CHANGE
或!:
) - 次版本: 当添加新功能时(提交信息包含
feat:
或feat(scope):
) - 补丁版本: 其他所有更改(错误修复、文档等)
完整的变更历史见CHANGELOG.md文件。
使用指南 📝
作为命令行工具 💻
# 初始化记忆库
memory-bank-mcp initialize_memory_bank path=./memory-bank
# 跟踪进度
memory-bank-mcp track_progress action="特性实现" description="实现了特性 X"
# 记录决策
memory-bank-mcp log_decision title="API 设计" context="..." decision="..."
# 切换模式
memory-bank-mcp switch_mode mode=code
作为库使用 📚
import { MemoryBankServer } from "@movibe/memory-bank-mcp";
// 创建服务器实例
const server = new MemoryBankServer();
// 启动服务器
server.run().catch(console.error);
贡献指南 👥
详细的贡献方式和提交 pull request 的流程,请参见 CONTRIBUTING.md。
许可证 📄
此项目采用 MIT 许可证,详见 LICENSE 文件。
记忆库状态系统 🚦
Memory Bank MCP 实现了一套状态前缀系统,为记忆库的操作状态提供即时可见性:
状态指示器
每次 AI 助手使用 Memory Bank MCP 的响应都始于以下状态指示器之一:
[MEMORY BANK: ACTIVE]
: 记忆库可用,并被用来提供上下文感知的响应[MEMORY BANK: INACTIVE]
: 记忆库不可用或配置不当[MEMORY BANK: UPDATING]
: 记忆库正在更新中(UMB 命令执行期间)
此系统确保用户始终知道 AI 助手是在全面的上下文中运行还是信息有限。
优势
- 透明度: 用户始终知道 AI 是否能够访问完整的项目上下文
- 故障排除: 使记忆库配置不当的情况一目了然
- 上下文感知: 帮助用户理解某些响应为何缺乏历史上下文
如需更多详情,请参见 记忆库状态前缀系统。