mcpField
M
Memory Bank MCP Server

Memory Bank MCP Server

本地服务
npmjs.com记忆与知识92062 周前更新

关于 Memory Bank MCP Server

Memory Bank MCP Server 是一个 MCP 服务,用于远程管理 memory bank 文件,灵感来自 Cline Memory Bank。它把基于文件的记忆库集中为服务,按项目隔离存储。

主要功能

  1. 01多项目支持,每个项目有独立目录
  2. 02强制文件结构并防止路径穿越
  3. 03读取、写入和更新 memory bank 文件
  4. 04列出项目及项目内的文件

适用场景

  1. 01为多个项目集中保存 AI 助手的记忆文件
  2. 02在 Cline、Claude 或 Cursor 中共享同一份项目记忆

MCP 相关

该项目作为 MCP 服务,向客户端暴露 memory_bank_read、memory_bank_write、memory_bank_update、list_projects 和 list_project_files 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"memory-bank": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Memory Bank MCP 服务

smithery badge npm version npm downloads

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 服务。或者,也可以按照下方“配置”部分的说明手动配置服务。

快速开始

  1. 在设置中配置 MCP 服务(参见下方“配置”部分)
  2. 在 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
  1. 找到配置文件
  2. 找到名为 mcpServers 的属性
  3. 粘贴以下内容:
 "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 运行
  1. 构建 Docker 镜像:

    docker build -t memory-bank-mcp:local .
    
  2. 运行 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"
    
  3. 添加 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"
      ]
    }
    

贡献

欢迎贡献!请按照以下步骤操作:

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 将分支推送到远程仓库(git push origin feature/amazing-feature)
  5. 创建 Pull Request
开发指南
  • 所有新代码均使用 TypeScript
  • 确保整个代码库的类型安全
  • 为新功能添加测试
  • 根据需要更新文档
  • 遵循现有的代码风格和模式
测试
  • 为新功能编写单元测试
  • 添加多项目场景测试
  • 彻底测试错误情况
  • 验证类型约束
  • 适当地模拟文件系统操作

许可证

本项目采用 MIT License 授权。详情请参阅 LICENSE 文件。

致谢

本项目实现了 Cline Memory Bank 中最初记录的记忆库概念,并扩展了远程能力和多项目支持。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。