内存银行管理协议

一个用于管理内存银行的模型上下文协议(MCP)服务器,允许AI助手跨会话存储和检索信息。

  • by movibe
  • TypeScript
  • 本地部署
  • 46 星标
  • 更新于
在 GitHub 查看 movibe/memory-bank-mcp

使用说明

存储库MCP🧠

用于管理内存库的模型上下文协议(MCP)服务器,允许AI助手跨会话存储和检索信息。

概述📋

Memory Bank Server为AI助手与Memory Bank交互提供了一组工具和资源。记忆库是结构化的信息存储库,有助于维护上下文并跟踪多个会话的进度。

特性✨

  • 内存库管理:初始化、查找和管理内存库
  • 文件操作:读写存储体中的文件
  • 进度跟踪:跟踪进度并更新内存库文件
  • 决策记录:用上下文和备选方案记录重要决策
  • 主动上下文管理:维护和更新活动上下文信息
  • 模式支持:检测并使用.clinerules文件进行模式特定行为
  • UMB指挥部:使用UMB命令临时更新内存库文件
  • 稳健的错误处理:妥善处理错误,并在可能的情况下继续操作
  • 状态前缀系统:可立即查看存储库的运行状态

目录结构📁

默认情况下,内存库使用 memory-bank 项目根目录中的目录。使用以下命令指定项目路径时 --path 选项,将在以下位置创建或访问内存库 <project_path>/memory-bank.

您可以使用自定义存储库文件夹的名称 --folder 选项。例如,如果您设置 --folder custom-memory,将在以下位置创建或访问内存库 <project_path>/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:

  1. 使用带有npx的存储体MCP:

    无需全局安装该软件包。您可以直接使用npx:

    # Verify npx is working correctly
    npx @movibe/memory-bank-mcp --help
    
  2. 打开光标设置:

    • 转到设置(⚙️) > 扩展>MCP
    • 点击“添加MCP服务器”
  3. 配置MCP服务器:

    • 名字:存储库MCP
    • 命令:npx
    • 参数: @movibe/memory-bank-mcp --mode code (或根据需要的其他模式)
  4. 保存并激活:

    • 点击“保存”
    • 通过切换启用MCP服务器
  5. 验证连接:

    • 在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交互:

可用模式

  1. 代码模式 👨‍💻

    • 重点:代码实现和开发
    • 用途: npx @movibe/memory-bank-mcp --mode code
    • 最适合:编写、重构和优化代码
  2. 架构师模式 🏗️

    • 重点:系统设计和架构
    • 用途: npx @movibe/memory-bank-mcp --mode architect
    • 最适合:规划项目结构、设计组件和做出架构决策
  3. 询问模式 ❓

    • 重点:回答问题和提供信息
    • 用途: npx @movibe/memory-bank-mcp --mode ask
    • 最适合:获得解释、澄清和信息
  4. 调试模式 🐛

    • 重点:故障排除和问题解决
    • 用途: npx @movibe/memory-bank-mcp --mode debug
    • 最适合:查找和修复错误,分析问题
  5. 测试模式 ✅

    • 重点:测试和质量保证
    • 用途: npx @movibe/memory-bank-mcp --mode test
    • 最适合:编写测试、测试驱动开发

切换模式

您可以通过多种方式切换模式:

  1. 启动服务器时:

    npx @movibe/memory-bank-mcp --mode architect
    
  2. 在会议期间:

    memory-bank-mcp switch_mode mode=debug
    
  3. 在光标中:

    /mcp memory-bank-mcp switch_mode mode=test
    
  4. 使用.clinerules文件: 创建一个 .clinerules-[mode] 检测到文件时,项目中的文件会自动切换到该模式。

存储库MCP的工作原理🧠

Memory Bank MCP基于模型上下文协议(MCP)构建,使AI助手能够与外部工具和资源进行交互。其工作原理如下:

核心组件🧩

  1. 存储体:以markdown文件存储的结构化信息存储库:

    • product-context.md:总体项目信息和目标
    • active-context.md:当前状态、正在进行的任务和下一步
    • progress.md:项目更新和里程碑的历史
    • decision-log.md:重要决策的记录,包括背景和理由
    • system-patterns.md:项目中使用的架构和代码模式
  2. MCP服务器:为人工智能助手提供与记忆库交互的工具和资源:

    • 作为独立进程运行
    • 通过MCP协议与AI助手通信
    • 提供一组用于管理内存库的工具
  3. 模式系统:支持不同的操作模式:

    • code:专注于代码实现
    • ask:专注于回答问题
    • architect:专注于系统设计
    • debug:专注于调试问题
    • test:专注于测试

数据流🔄

  1. 初始化:AI助手连接到MCP服务器并初始化内存库
  2. 工具调用:AI助手调用MCP服务器提供的工具来读取/写入内存库文件
  3. 上下文维护:记忆库在会话中保持上下文,使人工智能能够回忆起以前的决定和进展

存储体结构📂

记忆库使用标准化的结构来组织信息:

  • 产品背景:项目概述、目标、技术和架构
  • 活动上下文:当前状态、正在进行的任务、已知问题和下一步行动
  • 进展:按时间顺序记录项目更新和里程碑
  • 决策日志:重要决策的记录,包括背景、备选方案和后果
  • 系统模式:体系结构模式、代码模式和文档模式

高级功能🚀

  • 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是否可以访问整个项目上下文
  • 故障排除:当内存库配置不正确时,会立即显示出来
  • 情境感知:帮助用户理解为什么某些响应可能缺乏历史背景

有关更多详细信息,请参阅 存储体状态前缀系统.