内存银行管理服务器

一个基于MCP协议的远程内存银行管理服务器,支持多项目隔离和核心文件操作。

  • by alioshr
  • TypeScript
  • 本地部署
  • 920 星标
  • 更新于
在 GitHub 查看 alioshr/memory-bank-mcp

使用说明

存储库MCP服务器

一种用于远程内存库管理的模型上下文协议(MCP)服务器实现,灵感来自 临床记忆库.

概述

存储体MCP服务器将传统的基于文件的存储体转换为集中式服务,该服务:

  • 通过MCP协议提供对存储体文件的远程访问
  • 支持多项目内存库管理
  • 保持一致的文件结构和验证
  • 确保项目内存库之间的适当隔离

特性

  • 多项目支持

    • 项目特定目录
    • 文件结构强制执行
    • 路径遍历预防
    • 项目列表功能
    • 每个项目的文件列表
  • 远程可访问性

    • 完整的MCP协议实施
    • 类型安全操作
    • 正确的错误处理
    • 通过项目隔离实现安全
  • 核心业务

    • 读/写/更新存储体文件
    • 列出可用项目
    • 列出项目中的文件
    • 项目存在验证
    • 安全的只读操作

安装

通过以下方式自动安装Claude Desktop的内存库服务器 铁匠铺:

npx -y @smithery/cli install @alioshr/memory-bank-mcp --client claude

这将自动设置MCP服务器配置。或者,您可以按照下面的配置部分所述手动配置服务器。

快速开始

  1. 在您的设置中配置MCP服务器(请参阅下面的配置部分)
  2. 开始使用AI助手中的记忆库工具

使用Cline/Roo代码

需要在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,打开设置->功能->添加MCP服务器->添加以下内容:

env MEMORY_BANK_ROOT=<path-to-bank> npx -y @allpepper/memory-bank-mcp@latest

与克劳德一起使用

  • Claude桌面配置文件: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude代码配置文件: ~/.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客户端。你应该复制并粘贴这些规则。作为参考,请参见 自定义说明.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代码示例:

    "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. 复刻仓库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

开发指南

  • 对所有新代码使用TypeScript
  • 维护整个代码库的类型安全
  • 为新功能添加测试
  • 根据需要更新文档
  • 遵循现有的代码风格和模式

测试

  • 为新功能编写单元测试
  • 包括多项目场景测试
  • 彻底测试错误案例
  • 验证类型约束
  • 适当地模拟文件系统操作

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

该项目实现了最初在 临床记忆库,通过远程功能和多项目支持对其进行扩展。