首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
memory-bank-mcp2025-05-280分享
github
内存银行服务器为人工智能助手与内存银行交互提供了一套工具和资源。内存银行是结构化的信息存储库,有助于在多个会话中保持上下文并跟踪进度。
By movibe
2025-05-280
github
详情内容

记忆库 MCP 🧠

NPM 版本
许可证: MIT
测试

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

记忆库 MCP 服务器

概览 📋

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

功能 ✨

  • 记忆库管理:初始化、查找和管理记忆库
  • 文件操作:在记忆库中读取和写入文件
  • 进度跟踪:跟踪进度并更新记忆库文件
  • 决策日志:记录带有上下文和备选方案的重要决策
  • 活跃上下文管理:维护和更新活跃上下文信息
  • 模式支持:检测并使用.clinerules文件实现特定模式的行为
  • UMB命令:使用UMB命令临时更新记忆库文件
  • 健壮的错误处理:优雅地处理错误并在可能时继续操作
  • 状态前缀系统:立即了解记忆库的操作状态

目录结构 📁

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

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

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

最近改进 🛠️

  • 可自定义文件夹名称:现在可以为记忆库指定自定义文件夹名称
  • 一致的目录结构:记忆库现在始终使用项目根目录中配置的文件夹名称
  • 增强的初始化:即使.clinerules文件不存在,记忆库也能工作
  • 更好的路径处理:改进了对绝对路径和相对路径的处理
  • 更好的目录检测:更好地检测现有的memory-bank目录
  • 更健壮的错误处理:优雅地处理与.clinerules文件相关的错误

有关更多详细信息,请参阅记忆库错误修复

安装 🚀

# 从npm安装
npm install @movibe/memory-bank-mcp

# 或全局安装
npm install -g @movibe/memory-bank-mcp

# 或使用npx直接运行(无需安装)
npx @movibe/memory-bank-mcp

使用npx 💻

您可以使用npx直接运行记忆库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-usage.md

在Cursor中配置 🖱️

Cursor是一个支持模型上下文协议(MCP)的AI驱动代码编辑器。要在Cursor中配置记忆库MCP:

  1. 使用npx运行记忆库MCP

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

    # 验证npx是否正常工作
    npx @movibe/memory-bank-mcp --help
    
  2. 打开Cursor设置

    • 转到设置(⚙️) > 扩展 > 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中与记忆库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模式及其用法 🔄

记忆库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. 在Cursor中

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

记忆库MCP的工作原理 🧠

记忆库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服务器提供的工具来读取/写入记忆库文件
  3. 上下文维护:记忆库在会话间维护上下文,使AI能够回忆之前的决策和进度

记忆库结构 📂

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

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

高级功能 🚀

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

版本控制 📌

该项目遵循语义化版本控制,并使用约定式提交进行提交消息。当更改合并到主分支时,版本会自动递增并根据提交消息生成变更日志。

  • 主版本号:在有破坏性更改时递增(带有BREAKING CHANGE!: 的提交消息)
  • 次版本号:在添加新功能时递增(带有feat:feat(scope):的提交消息)
  • 补丁版本号:在所有其他更改(错误修复、文档等)时递增

有关更改的完整历史记录,请参阅CHANGELOG.md文件。

用法 📝

作为命令行工具 💻

# 初始化记忆库
memory-bank-mcp initialize_memory_bank path=./memory-bank

# 跟踪进度
memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"

# 记录决策
memory-bank-mcp log_decision title="API Design" 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);

贡献 👥

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

许可证 📄

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

记忆库状态系统 🚦

记忆库MCP实现了一个状态前缀系统,可立即了解记忆库的操作状态:

状态指示器

使用记忆库MCP的AI助手的每个响应都以这些状态指示器之一开头:

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

该系统确保用户始终知道AI助手是否具有完整的项目上下文或有限的信息。

优势

  • 透明度:用户始终知道AI是否可以访问完整的项目上下文
  • 故障排除:当记忆库未正确配置时,可以立即发现问题
  • 上下文感知:帮助用户理解为什么某些响应可能缺乏历史上下文

有关更多详细信息,请参阅记忆库状态前缀系统

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档