关于 Memory Bank MCP Server
Memory Bank MCP Server 是一个 MCP 服务,用于远程管理 memory bank 文件,灵感来自 Cline Memory Bank。它把基于文件的记忆库集中为服务,按项目隔离存储。
主要功能
- 01多项目支持,每个项目有独立目录
- 02强制文件结构并防止路径穿越
- 03读取、写入和更新 memory bank 文件
- 04列出项目及项目内的文件
适用场景
- 01为多个项目集中保存 AI 助手的记忆文件
- 02在 Cline、Claude 或 Cursor 中共享同一份项目记忆
MCP 相关
该项目作为 MCP 服务,向客户端暴露 memory_bank_read、memory_bank_write、memory_bank_update、list_projects 和 list_project_files 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Memory Bank MCP 服务
受 Cline Memory Bank 启发的 Model Context Protocol(MCP)服务实现,用于远程管理记忆库。
概述
Memory Bank MCP 服务将传统的基于文件的记忆库转变为集中式服务,能够:
- 通过 MCP 协议远程访问记忆库文件
- 管理多个项目的记忆库
- 保持一致的文件结构并进行验证
- 确保不同项目的记忆库彼此隔离
功能
-
多项目支持
- 项目专属目录
- 强制执行文件结构
- 防止路径遍历
- 支持列出项目
- 支持列出每个项目的文件
-
远程访问
- 完整实现 MCP 协议
- 类型安全的操作
- 妥善处理错误
- 通过项目隔离保障安全
-
核心操作
- 读取、写入和更新记忆库文件
- 列出可用项目
- 列出项目内的文件
- 验证项目是否存在
- 安全的只读操作
安装
如需通过 Smithery 自动为 Claude Desktop 安装 Memory Bank 服务:
npx -y @smithery/cli install @alioshr/memory-bank-mcp --client claude
这将自动配置 MCP 服务。或者,也可以按照下方“配置”部分的说明手动配置服务。
快速开始
- 在设置中配置 MCP 服务(参见下方“配置”部分)
- 在 AI 助手中开始使用记忆库工具
与 Cline/Roo Code 配合使用
需要在 Cline MCP 设置文件中配置记忆库 MCP 服务。文件位置取决于你的设置:
- 对于 Cline 扩展:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 对于 Roo Code VS Code 扩展:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
将以下配置添加到 MCP 设置中:
{
"allpepper-memory-bank": {
"command": "npx",
"args": ["-y", "@allpepper/memory-bank-mcp"],
"env": {
"MEMORY_BANK_ROOT": "<path-to-bank>"
},
"disabled": false,
"autoApprove": [
"memory_bank_read",
"memory_bank_write",
"memory_bank_update",
"list_projects",
"list_project_files"
]
}
}
配置详情
MEMORY_BANK_ROOT:用于存储项目记忆库的目录(例如,/path/to/memory-bank)disabled:设为false以启用服务autoApprove:无需用户明确批准即可执行的操作列表:memory_bank_read:读取记忆库文件memory_bank_write:创建新的记忆库文件memory_bank_update:更新现有记忆库文件list_projects:列出可用项目list_project_files:列出项目内的文件
与 Cursor 配合使用
对于 Cursor,打开设置 -> 功能 -> 添加 MCP 服务 -> 添加以下内容:
env MEMORY_BANK_ROOT=<path-to-bank> npx -y @allpepper/memory-bank-mcp@latest
与 Claude 配合使用
- Claude 桌面端配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Code 配置文件:
~/.claude.json
- 找到配置文件
- 找到名为
mcpServers的属性 - 粘贴以下内容:
"allPepper-memory-bank": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@allpepper/memory-bank-mcp@latest"
],
"env": {
"MEMORY_BANK_ROOT": "YOUR PATH"
}
}
自定义 AI 指令
本节包含应粘贴到 AI 自定义指令中的说明,可用于 Cline、Claude、Cursor 或其他 MCP 客户端。请复制并粘贴这些规则。有关详情,请参阅包含这些规则的 custom-instructions.md。
开发
基本开发命令:
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm run test
# Run tests in watch mode
npm run test:watch
# Run the server directly with ts-node for quick testing
npm run dev
使用 Docker 运行
-
构建 Docker 镜像:
docker build -t memory-bank-mcp:local . -
运行 Docker 容器进行测试:
docker run -i --rm \ -e MEMORY_BANK_ROOT="/mnt/memory_bank" \ -v /path/to/memory-bank:/mnt/memory_bank \ --entrypoint /bin/sh \ memory-bank-mcp:local \ -c "ls -la /mnt/memory_bank" -
添加 MCP 配置,以下是 Roo Code 的示例:
"allpepper-memory-bank": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MEMORY_BANK_ROOT", "-v", "/path/to/memory-bank:/mnt/memory_bank", "memory-bank-mcp:local" ], "env": { "MEMORY_BANK_ROOT": "/mnt/memory_bank" }, "disabled": false, "alwaysAllow": [ "list_projects", "list_project_files", "memory_bank_read", "memory_bank_update", "memory_bank_write" ] }
贡献
欢迎贡献!请按照以下步骤操作:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 将分支推送到远程仓库(
git push origin feature/amazing-feature) - 创建 Pull Request
开发指南
- 所有新代码均使用 TypeScript
- 确保整个代码库的类型安全
- 为新功能添加测试
- 根据需要更新文档
- 遵循现有的代码风格和模式
测试
- 为新功能编写单元测试
- 添加多项目场景测试
- 彻底测试错误情况
- 验证类型约束
- 适当地模拟文件系统操作
许可证
本项目采用 MIT License 授权。详情请参阅 LICENSE 文件。
致谢
本项目实现了 Cline Memory Bank 中最初记录的记忆库概念,并扩展了远程能力和多项目支持。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。