Memory Bank MCP

by movibe
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Displays GitHub Actions workflow status for tests through a badge in the README

  • Uses Markdown files to store structured information in Memory Banks, including product context, active context, progress, decisions, and system patterns

  • Allows installation and distribution of the Memory Bank MCP package through npm

记忆库 MCP 🧠

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

概述📋

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

特色✨

  • 存储库管理:初始化、查找和管理存储库
  • 文件操作:读取和写入存储库中的文件
  • 进度跟踪:跟踪进度并更新记忆库文件
  • 决策记录:记录重要决策的背景和替代方案
  • 主动上下文管理:维护和更新主动上下文信息
  • 模式支持:检测并使用 .clinerules 文件实现特定模式的行为
  • UMB 命令:使用 UMB 命令临时更新存储库文件
  • 强大的错误处理:优雅地处理错误并在可能的情况下继续操作
  • 状态前缀系统:立即了解存储库的运行状态

目录结构📁

默认情况下,记忆库使用项目根目录中的memory-bank目录。当您使用--path选项指定项目路径时,记忆库将在<project_path>/memory-bank中创建或访问。

您可以使用--folder选项自定义记忆库文件夹的名称。例如,如果您设置了--folder custom-memory ,则记忆库将在<project_path>/custom-memory下创建或访问。

有关自定义文件夹名称的更多详细信息,请参阅自定义存储库文件夹名称

最近的改进🛠️

  • 可自定义文件夹名称:您现在可以为存储库指定自定义文件夹名称
  • 一致的目录结构:Memory Bank 现在始终使用项目根目录中配置的文件夹名称
  • 增强初始化:即使 .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 中配置

Cursor 是一款 AI 驱动的代码编辑器,支持模型上下文协议 (MCP)。要在 Cursor 中配置内存条 MCP,请执行以下操作:

  1. 将内存库 MCP 与 npx 结合使用无需全局安装包。您可以直接使用 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

与 Cursor 一起使用

配置完成后,您可以通过 AI 命令与 Cursor 中的 Memory Bank 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 服务器:为 AI 助手提供与记忆库交互的工具和资源:
    • 作为独立进程运行
    • 通过MCP协议与AI助手进行通信
    • 提供一套用于管理存储库的工具
  3. 模式系统:支持不同的操作模式:
    • code :关注代码实现
    • ask :专注于回答问题
    • architect :专注于系统设计
    • debug :专注于调试问题
    • test :专注于测试

数据流

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

记忆库结构📂

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

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

高级功能🚀

  • UMB 命令:在会话期间临时更新存储库文件,但不提交更改
  • 模式检测:根据用户输入自动检测和切换模式
  • 文件迁移:在不同文件命名约定之间迁移的工具
  • 语言标准化:所有记忆库文件均以英文生成,以保持一致性

版本控制📌

该项目遵循语义化版本控制,并使用约定式提交来记录提交信息。当更改合并到主分支时,版本会自动升级,并根据提交信息生成变更日志。

  • 当发生重大更改时,主要版本会被提升(提交带有BREAKING CHANGE!:的消息)
  • 添加新功能时,次要版本会升级(提交带有feat:feat(scope):的消息)
  • 补丁版本因所有其他更改(错误修复、文档等)而提升。

有关更改的完整历史记录,请参阅CHANGELOG.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);

贡献👥

请参阅CONTRIBUTING.md了解我们的行为准则和提交拉取请求的流程的详细信息。

许可证📄

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

记忆库状态系统🚦

存储库 MCP 实现了状态前缀系统,可以立即查看存储库的运行状态:

状态指示器

使用 Memory Bank MCP 的 AI 助手的每一个响应都以以下状态指示器之一开始:

  • [MEMORY BANK: ACTIVE] :记忆库可用并用于提供情境感知响应
  • [MEMORY BANK: INACTIVE] :存储库不可用或配置不正确
  • [MEMORY BANK: UPDATING] :存储库当前正在更新(在 UMB 命令执行期间)

该系统确保用户始终知道 AI 助手是在完全情境感知下还是在有限信息下运行。

好处

  • 透明度:用户始终知道人工智能是否有权访问完整的项目上下文
  • 故障排除:当存储库配置不正确时,立即显现出来
  • 语境意识:帮助用户理解为什么某些回应可能缺乏历史背景

有关详细信息,请参阅存储库状态前缀系统

ID: riei9a6dhx