使用说明
项目简介
Memory Bank Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它将传统的基于文件的记忆库转变为中心化的远程服务。通过 MCP 协议,LLM 客户端可以安全地访问和管理存储在服务器端的记忆库文件,实现跨项目的数据隔离和一致的文件结构。
主要功能点
- 多项目支持:允许创建和管理多个独立的记忆库项目,每个项目有单独的目录和文件结构。
- 远程访问:通过 MCP 协议提供远程访问记忆库文件的能力,支持读取、写入和更新记忆库文件。
- 核心操作:提供项目列表、项目文件列表、文件读取、文件写入和文件更新等核心操作。
- 安全性:通过项目隔离和路径遍历防护,确保不同项目之间的数据安全。
- 类型安全操作:基于 MCP 协议提供类型安全的操作接口。
安装步骤
-
安装 Node.js 和 npm:确保你的系统已安装 Node.js 和 npm。
-
使用 Smithery 自动安装 (推荐 Claude Desktop 用户):如果你使用 Claude Desktop,可以使用 Smithery CLI 自动安装和配置 Memory Bank Server。
npx -y @smithery/cli install @alioshr/memory-bank-mcp --client claude按照提示完成安装。Smithery 会自动配置 MCP 服务器。
-
手动安装 (通用方法):
- 克隆或下载仓库代码到本地。
- 进入项目根目录,运行命令安装依赖:
npm install - 构建项目:
npm run build
服务器配置
MCP 客户端需要配置 Memory Bank Server 的启动信息才能连接。以下是通用的 JSON 配置信息,你需要将其添加到 MCP 客户端的配置文件中(例如 Cline 或 Claude 的 MCP 设置)。
通用配置 (JSON 格式)
{ "memory-bank": { "command": "npx", "args": ["-y", "@allpepper/memory-bank-mcp"], "env": { "MEMORY_BANK_ROOT": "<记忆库根目录路径>" }, "disabled": false, "autoApprove": [ "memory_bank_read", "memory_bank_write", "memory_bank_update", "list_projects", "list_project_files" ] } }
配置参数说明:
- '"memory-bank"': 服务器名称,在客户端中用于标识和引用该服务器。
- '"command"': 启动服务器的命令,这里使用 'npx' 来运行 npm 包。
- '"args"': 传递给 'npx' 命令的参数,'-y' 表示自动确认安装包,'@allpepper/memory-bank-mcp' 是要运行的 npm 包名。
- '"env"': 设置环境变量。
- '"MEMORY_BANK_ROOT"': 必须配置。指定记忆库文件存储的根目录路径。请将 '<记忆库根目录路径>' 替换为你希望存储记忆库文件的实际路径,例如 '/path/to/memory-bank'。
- '"disabled"': 设置为 'false' 启用服务器,设置为 'true' 禁用服务器。
- '"autoApprove"': 自动批准的操作列表。列出的操作将不需要用户显式批准即可执行。
- '"memory_bank_read"': 允许客户端自动读取记忆库文件。
- '"memory_bank_write"': 允许客户端自动创建新的记忆库文件。
- '"memory_bank_update"': 允许客户端自动更新已有的记忆库文件。
- '"list_projects"': 允许客户端自动列出所有项目。
- '"list_project_files"': 允许客户端自动列出指定项目的文件。
Cursor 配置示例
对于 Cursor 编辑器,你可以在 MCP 服务器设置中添加以下配置(非 JSON 格式,直接填入配置项):
env MEMORY_BANK_ROOT=<记忆库根目录路径> npx -y @allpepper/memory-bank-mcp@latest
同样需要将 '<记忆库根目录路径>' 替换为你的实际路径。
基本使用方法
- 配置 MCP 客户端:根据你的 MCP 客户端(如 Claude, Cursor 等)的文档,将上述服务器配置信息添加到客户端的 MCP 设置中。确保配置中的 'MEMORY_BANK_ROOT' 指向你希望存储记忆库的目录。
- 启动 MCP 客户端:启动或重启你的 MCP 客户端,客户端应该能够连接到 Memory Bank Server。
- 使用记忆库工具:在你的 LLM 应用或客户端中,可以使用预定义的工具(例如 'memory_bank_read', 'memory_bank_write' 等)来操作记忆库文件。具体的工具调用方式取决于你的 MCP 客户端和 LLM 应用的接口。通常,你可以通过自然语言指令或特定的 API 调用来触发这些工具。
例如,在支持 MCP 协议的 LLM 应用中,你可以指示 LLM 使用 'memory_bank_read' 工具读取特定项目下的某个文件内容,或者使用 'memory_bank_write' 工具创建一个新的记忆库文件。
注意: Memory Bank Server 作为一个 MCP 服务器,其主要作用是提供后台服务和数据接口。具体如何通过 LLM 客户端调用和使用这些功能,还需要参考你所使用的 MCP 客户端和 LLM 应用的文档和指南。
信息
分类
数据库与文件