一个用于管理Memory Banks的Model Context Protocol (MCP)服务器,允许AI助手跨会话存储和检索信息。现在支持远程服务器!
<a href="https://glama.ai/mcp/servers/@aakarsh-sasi/memory-bank-mcp"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=1901077146,2160487272&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Memory Bank MCP server" /> </a>Memory Bank Server 提供了一套工具和资源,使AI助手能够与Memory Banks进行交互。Memory Banks是结构化的信息库,有助于在多个会话中保持上下文并跟踪进度。
默认情况下,Memory Bank 使用项目根目录下的 memory-bank 文件夹。当您使用 --path 选项指定项目路径时,Memory Bank 将在 <project_path>/memory-bank 创建或访问。
您可以使用 --folder 选项自定义Memory Bank文件夹的名称。例如,如果您设置 --folder custom-memory,Memory Bank 将在 <project_path>/custom-memory 创建或访问。
有关自定义文件夹名称的更多详细信息,请参阅 自定义Memory Bank文件夹名称。
有关更多详细信息,请参阅 Memory Bank Bug Fixes。
要通过 Smithery 自动安装Memory Bank for Claude Desktop:
npx -y @smithery/cli install @aakarsh-sasi/memory-bank-mcp --client claude
# 从npm安装
npm install @aakarsh-sasi/memory-bank-mcp
# 或全局安装
npm install -g @aakarsh-sasi/memory-bank-mcp
# 或直接使用npx(无需安装)
npx @aakarsh-sasi/memory-bank-mcp
您可以使用npx直接运行Memory Bank MCP而无需安装:
# 使用默认设置运行
npx @aakarsh-sasi/memory-bank-mcp
# 使用特定模式运行
npx @aakarsh-sasi/memory-bank-mcp --mode code
# 使用自定义项目路径运行
npx @aakarsh-sasi/memory-bank-mcp --path /path/to/project
# 使用自定义文件夹名称运行
npx @aakarsh-sasi/memory-bank-mcp --folder custom-memory-bank
# 使用远程服务器运行
npx @aakarsh-sasi/memory-bank-mcp --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank
# 显示帮助
npx @aakarsh-sasi/memory-bank-mcp --help
有关使用npx的更多详细信息,请参阅 npx-usage.md。
Memory Bank MCP现在支持通过SSH将您的Memory Bank存储在远程服务器上。这允许您:
要为远程服务器设置SSH密钥认证:
生成新的SSH密钥对(如果您还没有):
# 使用现代Ed25519算法(推荐)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 或使用RSA(如果需要兼容性)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
启动SSH代理并添加您的密钥:
# 启动代理
eval "$(ssh-agent -s)"
# 添加您的密钥
ssh-add ~/.ssh/id_ed25519 # 或 ~/.ssh/id_rsa 如果您使用了RSA
将您的公钥复制到远程服务器:
# 最简单的方法(如果可用)
ssh-copy-id username@your-remote-host.com
# 替代方法:手动复制您的公钥
cat ~/.ssh/id_ed25519.pub # 复制输出
然后将密钥粘贴到远程服务器上的 ~/.ssh/authorized_keys 文件中。
测试连接:
ssh username@your-remote-host.com
您应该能够无密码登录。
有关更详细的SSH密钥设置说明,请参阅我们的 SSH Keys Guide。
要使用远程服务器模式,您需要提供以下参数:
npx @aakarsh-sasi/memory-bank-mcp --remote \
--ssh-key ~/.ssh/your_ssh_key \
--remote-user username \
--remote-host example.host.com \
--remote-path /home/username/memory-bank
默认情况下,SSH密钥假定位于 ~/.ssh/your_ssh_key。您可以使用 --ssh-key 选项指定不同的密钥。
# 使用example.host.com上的服务器
npx @aakarsh-sasi/memory-bank-mcp --remote \
--remote-user username \
--remote-host example.host.com \
--remote-path /home/username/memory-bank
Cursor 是一个支持Model Context Protocol (MCP)的AI驱动代码编辑器。要在Cursor中配置Memory Bank MCP:
使用npx运行Memory Bank MCP:
无需全局安装该包。您可以直接使用npx:
# 验证npx是否正常工作
npx @aakarsh-sasi/memory-bank-mcp --help
打开Cursor设置:
配置MCP服务器:
@aakarsh-sasi/memory-bank-mcp --mode code(或根据需要选择其他模式)对于远程服务器:
@aakarsh-sasi/memory-bank-mcp --mode code --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank保存并激活:
验证连接:
有关详细说明和高级用法,请参阅 cursor-integration.md。
配置完成后,您可以通过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=codeMemory Bank MCP支持不同的操作模式,以优化特定任务的AI交互:
代码模式 👨💻
npx @aakarsh-sasi/memory-bank-mcp --mode code架构模式 🏗️
npx @aakarsh-sasi/memory-bank-mcp --mode architect问答模式 ❓
npx @aakarsh-sasi/memory-bank-mcp --mode ask调试模式 🐛
npx @aakarsh-sasi/memory-bank-mcp --mode debug测试模式 ✅
npx @aakarsh-sasi/memory-bank-mcp --mode test您可以通过多种方式切换模式:
启动服务器时:
npx @aakarsh-sasi/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基于Model Context Protocol (MCP),使AI助手能够与外部工具和资源进行交互。以下是其工作原理:
Memory Bank:以markdown文件形式存储的结构化信息库:
product-context.md:项目总体信息和目标active-context.md:当前状态、正在进行的任务和下一步行动progress.md:项目更新和里程碑的历史记录decision-log.md:重要决策的记录及其背景和理由system-patterns.md:项目中使用的架构和代码模式MCP服务器:为AI助手提供与Memory Banks交互的工具和资源:
模式系统:支持不同的操作模式:
code:专注于代码实现ask:专注于回答问题architect:专注于系统设计debug:专注于调试问题test:专注于测试Memory Banks使用标准化的结构来组织信息:
此项目遵循 语义版本控制 并使用 常规提交 的提交消息。当更改合并到主分支时,根据提交消息自动提升版本并生成变更日志。
BREAKING CHANGE 或 !:)feat: 或 feat(scope):)有关完整的更改历史记录,请参阅 CHANGELOG.md 文件。
# 初始化Memory Bank
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 "@aakarsh-sasi/memory-bank-mcp";
// 创建一个新的服务器实例
const server = new MemoryBankServer();
// 启动服务器
server.run().catch(console.error);
请参阅 CONTRIBUTING.md 以了解我们的行为准则和提交拉取请求的过程。
此项目根据MIT许可证授权 - 详情请参阅 LICENSE 文件。
Memory Bank MCP实现了一个状态前缀系统,提供了Memory Bank操作状态的即时可见性:
每个使用Memory Bank MCP的AI助手的响应都以以下状态指示符之一开头:
[MEMORY BANK: ACTIVE]:Memory Bank可用且正在提供上下文感知的响应[MEMORY BANK: INACTIVE]:Memory Bank不可用或未正确配置[MEMORY BANK: UPDATING]:Memory Bank正在更新(在执行UMB命令期间)该系统确保用户始终知道AI助手是否具有完整的上下文感知或有限的信息。
有关更多详细信息,请参阅 Memory Bank状态前缀系统。