存储库MCP🧠
](https://www.npmjs.com/package/@movibe/memory-bank-mcp)  
用于管理内存库的模型上下文协议(MCP)服务器,允许AI助手跨会话存储和检索信息。
概述📋
Memory Bank Server为AI助手与Memory Bank交互提供了一组工具和资源。记忆库是结构化的信息存储库,有助于维护上下文并跟踪多个会话的进度。
特性✨
- 内存库管理:初始化、查找和管理内存库
- 文件操作:读写存储体中的文件
- 进度跟踪:跟踪进度并更新内存库文件
- 决策记录:用上下文和备选方案记录重要决策
- 主动上下文管理:维护和更新活动上下文信息
- 模式支持:检测并使用.clinerules文件进行模式特定行为
- UMB指挥部:使用UMB命令临时更新内存库文件
- 稳健的错误处理:妥善处理错误,并在可能的情况下继续操作
- 状态前缀系统:可立即查看存储库的运行状态
目录结构📁
默认情况下,内存库使用 memory-bank 项目根目录中的目录。使用以下命令指定项目路径时 --path 选项,将在以下位置创建或访问内存库 /memory-bank.
您可以使用自定义存储库文件夹的名称 --folder 选项。例如,如果您设置 --folder custom-memory,将在以下位置创建或访问内存库 /custom-memory.
有关自定义文件夹名称的更多详细信息,请参阅 自定义内存库文件夹名称.
最近的改进🛠️
- 可自定义文件夹名称:现在,您可以为内存库指定自定义文件夹名称
- 一致的目录结构:内存库现在始终使用项目根目录中配置的文件夹名称
- 增强初始化:即使.clinerules文件不存在,记忆库现在也能工作
- 更好的路径处理:改进了对绝对和相对路径的处理
- 改进的目录检测:更好地检测现有的内存库目录
- 更稳健的错误处理:优雅地处理与.clinerules文件相关的错误
有关更多详细信息,请参阅 内存库错误修复.
安装🚀
# Install from npm
npm install @movibe/memory-bank-mcp
# Or install globally
npm install -g @movibe/memory-bank-mcp
# Or run directly with npx (no installation required)
npx @movibe/memory-bank-mcp使用npx💻
您可以使用npx直接运行Memory Bank MCP,而无需安装:
# Run with default settings
npx @movibe/memory-bank-mcp
# Run with specific mode
npx @movibe/memory-bank-mcp --mode code
# Run with custom project path
npx @movibe/memory-bank-mcp --path /path/to/project
# Run with custom folder name
npx @movibe/memory-bank-mcp --folder custom-memory-bank
# Show help
npx @movibe/memory-bank-mcp --help有关使用npx的更多详细信息,请参阅 npx-usage.md.
在游标中配置🖱️
Cursor是一个支持模型上下文协议(MCP)的AI驱动的代码编辑器。要在游标中配置存储体MCP:
- 使用带有npx的存储体MCP:
无需全局安装该软件包。您可以直接使用npx:
# Verify npx is working correctly
npx @movibe/memory-bank-mcp --help- 打开光标设置:
- 转到设置(⚙️) > 扩展>MCP - 点击“添加MCP服务器”
- 配置MCP服务器:
- 名字:存储库MCP - 命令:npx - 参数: @movibe/memory-bank-mcp --mode code (或根据需要的其他模式)
- 保存并激活:
- 点击“保存” - 通过切换启用MCP服务器
- 验证连接:
- 在Cursor中打开项目 - 记忆库MCP现在应该处于活动状态,并在您的AI交互中可用
有关Cursor的详细说明和高级用法,请参阅 cursor-integration.md.
与光标一起使用🤖
配置后,您可以通过AI命令在Cursor中与存储体MCP交互:
- 初始化内存库:
/mcp memory-bank-mcp initialize_memory_bank path=./memory-bank - 跟踪进度:
/mcp memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X" - 日志决策:
/mcp memory-bank-mcp log_decision title="API Design" 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- 在光标中:
/mcp memory-bank-mcp switch_mode mode=test- 使用.clinerules文件:
创建一个 .clinerules-[mode] 检测到文件时,项目中的文件会自动切换到该模式。
存储库MCP的工作原理🧠
Memory Bank MCP基于模型上下文协议(MCP)构建,使AI助手能够与外部工具和资源进行交互。其工作原理如下:
核心组件🧩
- 存储体:以markdown文件存储的结构化信息存储库:
- product-context.md:总体项目信息和目标 - active-context.md:当前状态、正在进行的任务和下一步 - progress.md:项目更新和里程碑的历史 - decision-log.md:重要决策的记录,包括背景和理由 - system-patterns.md:项目中使用的架构和代码模式
- MCP服务器:为人工智能助手提供与记忆库交互的工具和资源:
- 作为独立进程运行 - 通过MCP协议与AI助手通信 - 提供一组用于管理内存库的工具
- 模式系统:支持不同的操作模式:
- code:专注于代码实现 - ask:专注于回答问题 - architect:专注于系统设计 - debug:专注于调试问题 - test:专注于测试
数据流🔄
- 初始化:AI助手连接到MCP服务器并初始化内存库
- 工具调用:AI助手调用MCP服务器提供的工具来读取/写入内存库文件
- 上下文维护:记忆库在会话中保持上下文,使人工智能能够回忆起以前的决定和进展
存储体结构📂
记忆库使用标准化的结构来组织信息:
- 产品背景:项目概述、目标、技术和架构
- 活动上下文:当前状态、正在进行的任务、已知问题和下一步行动
- 进展:按时间顺序记录项目更新和里程碑
- 决策日志:重要决策的记录,包括背景、备选方案和后果
- 系统模式:体系结构模式、代码模式和文档模式
高级功能🚀
- UMB指挥部:在会话期间临时更新内存库文件,而不提交更改
- 模式检测:根据用户输入自动检测和切换模式
- 文件迁移:用于在不同文件命名约定之间迁移的工具
- 语言标准化:所有内存库文件均以英文生成,以保持一致性
版本控制📌
该项目如下 语义版本控制 并使用 常规承诺 用于提交消息。当更改合并到主分支中时,版本会自动升级,并根据提交消息生成更改日志。
- 主要版本 当有突破性的更改时,会发生碰撞(提交消息
BREAKING CHANGE或!:) - 次要版本 当添加新功能时,会发生碰撞(提交消息时使用
feat:或feat(scope):) - 补丁版本 所有其他更改(错误修复、文档等)都会被取消
有关更改的完整历史记录,请参阅 更改日志.md 文件。
用法📝
作为命令行工具💻
# Initialize a Memory Bank
memory-bank-mcp initialize_memory_bank path=./memory-bank
# Track progress
memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"
# Log a decision
memory-bank-mcp log_decision title="API Design" context="..." decision="..."
# Switch mode
memory-bank-mcp switch_mode mode=code作为图书馆📚
import { MemoryBankServer } from "@movibe/memory-bank-mcp";
// Create a new server instance
const server = new MemoryBankServer();
// Start the server
server.run().catch(console.error);贡献👥
请看 贡献.md 有关我们的行为准则和提交pull请求流程的详细信息。
许可证📄
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
存储体状态系统🚦
存储体MCP实施了一个状态前缀系统,可立即查看存储体的操作状态:
状态指示灯
使用Memory Bank MCP的AI助手的每个响应都从以下状态指示器之一开始:
[MEMORY BANK: ACTIVE]:记忆库可用,用于提供上下文感知响应[MEMORY BANK: INACTIVE]:内存库不可用或配置不正确[MEMORY BANK: UPDATING]:内存库当前正在更新(在UMB命令执行期间)
该系统确保用户始终知道AI助手是在完全上下文感知的情况下运行,还是在有限的信息下运行。
益处
- 透明度:用户总是知道AI是否可以访问整个项目上下文
- 故障排除:当内存库配置不正确时,会立即显示出来
- 情境感知:帮助用户理解为什么某些响应可能缺乏历史背景
有关更多详细信息,请参阅 存储体状态前缀系统.
