/ 目录 / 演练场 / Memory Bank MCP
● 社区 alioshr 🔑 需要你的密钥

Memory Bank MCP

作者 alioshr · alioshr/memory-bank-mcp

集中式内存库服务器—将Cline/Cursor/Claude内存文件保存在一个文件夹中,每个项目的范围,避免路径遍历。

memory-bank-mcp将Cline Memory Bank模式转换为独立的MCP服务器。将其指向根目录,每个项目都会获得自己的内存库文件夹,代理可以通过五个简单的工具进行读取、写入、更新和列出。设计为多个客户端( Claude Desktop、Cursor、Windsurf )共享相同的规范内存—您不需要每个IDE单独的副本。

为什么要用

核心特性

实时演示

实际使用效果

memory-bank-mcp.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory-bank-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "memory-bank-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@allpepper/memory-bank-mcp"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add memory-bank-mcp -- npx -y @allpepper/memory-bank-mcp

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Memory Bank MCP

在Claude Desktop、Cursor和Windsurf上共享一个存储库

👤 在IDE之间跳转并希望获得单一项目知识来源的开发人员 ⏱ ~15 min beginner

何时使用: 您使用多个AI客户端,并继续复制有关该项目的相同注释。

前置条件
  • 节点18 + — nvm install 18
  • 存放内存组的目录 — mkdir -p ~/ai-memory
步骤
  1. 在每个客户端的MCP配置中设置MEMORY_BANK_ROOT
    将每个MCP客户端指向MEMORY_BANK_ROOT = ~/ai-memory并安装@ allpepper/memory-bank-mcp。✓ 已复制
    → memory_bank_*工具出现在每个客户端中
  2. 创建第一个项目库
    memory_bank_write project = acme-api file = architecture.md —总结此仓库的服务边界。✓ 已复制
    → 文件显示在~/ai-memory/acme-api/architecture.md下
  3. 从其他客户端读取
    在光标中: memory_bank_read project = acme-api file = architecture.md✓ 已复制
    → 返回相同的内容;来自任一客户端的编辑会立即显示

结果: 一个共享、可版本控制的内存文件夹,每个IDE都会自动查询。

注意事项
  • 更改MEMORY_BANK_ROOT后忘记重启MCP客户端 — 关闭并重新打开客户端;仅在启动时读取环境变量
搭配使用: filesystem · github

为新的客服代表提供有关长期项目的即时信息

👤 在同一代码库上运行多个代理的团队 ⏱ ~10 min beginner

何时使用: 新聊天需要与上一次聊天相同的背景(约定、过去的决定、已知错误)。

前置条件
  • 此项目的现有内存库 — 在正常工作期间使用MEMORY_BANK_WRITE填充
步骤
  1. 列出项目银行已经拥有的文件
    调用project = acme-api的list_project_files。✓ 已复制
    → architecture.md、decisions.md、open-questions.md等。
  2. 加载相关子集
    在开始任务之前读取decisions.md和open-questions.md。✓ 已复制
    → 专员参考了之前的决定,而不是重新询问

结果: 新课程从温暖开始,而不是寒冷;您每次都不再支付入驻税。

注意事项
  • 让银行成长为一个巨大的文件 — 按关注点拆分—决策、架构、开放式问题、运行手册—因此代理仅加载其所需的内容
搭配使用: codebase-memory

像任何其他项目文档一样在git中版本您的代理内存

👤 希望内存能够在机器和贡献者之间生存的团队 ⏱ ~20 min intermediate

何时使用: 您希望内存文件经过审核、可区分并与团队成员共享。

前置条件
  • Git repo托管银行 — git初始化在MEMORY_BANK_ROOT或项目子文件夹中
步骤
  1. 使根目录成为回购
    将~/ai-memory转换为git存储库;为任何敏感内容添加.gitignore。✓ 已复制
    → 标准git repo结构
  2. 让代理在会话期间更新内存
    修复错误后,调用memory_bank_update在bugs.md中记录根本原因。✓ 已复制
    → 新的commit-ready diff
  3. 提交并推送
    查看内存差异、提交、推送。✓ 已复制
    → 团队成员拉动,他们的客服代表立即分享背景信息

结果: Agent内存成为一流的项目制品。

注意事项
  • 提交专员记下的秘密 — 在推送内存存储库之前添加预提交扫描程序(例如gitleaks )
搭配使用: github · git

组合

与其他 MCP 搭配,撬动十倍杠杆

memory-bank-mcp + filesystem

内存库保留代理笔记;文件系统读取它们引用的代码

从内存库中读取decisions.md ,然后打开它在src/中引用的文件。✓ 已复制
memory-bank-mcp + github

公关合并后,将结果记录在项目的记忆库中

汇总合并的PR # 412并更新memory-bank/acme-api/decisions.md。✓ 已复制
memory-bank-mcp + codebase-memory

两个互补的记忆层—码图记忆+人类可读的笔记

将代码库-内存符号图与memory-bank/architecture.md中的叙述相结合。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
memory_bank_read project: str, file: str 在规划之前提取现有内存 0
memory_bank_write project: str, file: str, content: str 创建全新的内存文件 0
memory_bank_update project: str, file: str, content: str 修改现有内存文件(如果缺失则失败) 0
list_projects (none) 发现哪些项目已经有内存库 0
list_project_files project: str 在读取之前查看可用的内存文件 0

成本与限制

运行它的成本

API 配额
外部API
每次调用 Token 数
取决于文件大小;典型注释200–2000令牌
费用
免费—在本地运行
提示
保持内存文件简短且主题范围;每次调用加载50KB文件都会浪费上下文。

安全

权限、密钥、影响范围

凭据存储: 没有凭据。MEMORY_BANK_ROOT路径是唯一的配置。
数据出站: 无网络调用—读取和写入留在MEMORY_BANK_root下的本地文件系统上。

故障排查

常见错误与修复

错误:未设置MEMORY_BANK_ROOT

在MCP客户端配置中设置环境变量,然后重新启动客户端。

验证: echo $MEMORY_BANK_ROOT
读取文件时ENOENT

首先调用list_project_files —文件名必须准确存在。

验证: ls $MEMORY_BANK_ROOT/<project>/
EACCES on write

确保MCP进程对MEMORY_BANK_ROOT具有写入权限。

验证: touch $MEMORY_BANK_ROOT/.probe && rm $MEMORY_BANK_ROOT/.probe

替代方案

Memory Bank MCP 对比其他方案

替代方案何时用它替代权衡
memory (official)您想要的是知识图表,而不是基于文件的笔记图形是结构化的,但较少人工编辑
memory-service您希望语义搜索优先于内存更重的设置;需要嵌入
Cline Memory Bank (inline)您只使用Cline ,不需要跨IDE共享锁定到Cline

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills