返回市场
根代码内存库MCP服务器

根代码内存库MCP服务器

作者:IncomeStreamSurfer56 星标更新:2025-04-29

项目介绍

Roo Code Memory Bank MCP 服务器

该项目实现了 Roo Code Memory Bank 系统的核心功能作为模型上下文协议(MCP)服务器。它允许AI助手通过与基于文件的记忆库交互来维护项目上下文,使用结构化的MCP工具。

功能

此MCP服务器提供以下工具:

  • initialize_memory_bank:创建 memory-bank/ 目录和标准 .md 文件(productContext.mdactiveContext.mdprogress.mddecisionLog.mdsystemPatterns.md),并带有初始模板。
    • 输入:(可选) { "project_brief_content": string }
    • 输出{ "status": "success" | "error", "messages"?: string[], "message"?: string }
  • check_memory_bank_status:检查 memory-bank/ 目录是否存在,并列出其中的 .md 文件。
    • 输入{}
    • 输出{ "exists": boolean, "files": string[] }
  • read_memory_bank_file:读取指定记忆库文件的全部内容。
    • 输入{ "file_name": string }
    • 输出{ "content": string } 或错误对象。
  • append_memory_bank_entry:在指定文件中追加一个新的带时间戳的条目,可选地在特定的markdown标题下。如果文件不存在,则创建该文件。
    • 输入{ "file_name": string, "entry": string, "section_header"?: string }
    • 输出{ "status": "success" | "error", "message": string }

预备条件

  • Node.js(推荐版本18或更高)
  • npm(通常随Node.js一起包含)
  • 一个MCP客户端环境(如Cline使用的那种),能够管理和启动MCP服务器。

安装

  1. 克隆仓库:
    git clone https://github.com/IncomeStreamSurfer/roo-code-memory-bank-mcp-server.git
    cd roo-code-memory-bank-mcp-server
    
  2. 安装依赖项:
    npm install
    
  3. 构建项目:
    npm run build
    
    这会将TypeScript代码编译成JavaScript,并放置在dist/目录中。

配置(针对Cline MCP客户端)

要使此服务器可供您的AI助手(如Cline)使用,您需要将其配置添加到您的MCP设置文件中(例如cline_mcp_settings.json)。

在您的设置文件中找到mcpServers对象,并添加以下条目:

{
  "mcpServers": {
    // ... 其他服务器配置 ...

    "roo-code-memory-bank-mcp": {
      "autoApprove": [
        "initialize_memory_bank",
        "check_memory_bank_status",
        "read_memory_bank_file",
        "append_memory_bank_entry"
      ],
      "disabled": false,
      "timeout": 60,
      "command": "node", // 或在Windows上使用 "cmd.exe" 和 "/c node ..."
      "args": [
        // 重要:用实际绝对路径替换此路径
        // 到您系统上编译的index.js文件
        "/path/to/your/cloned/repo/roo-code-memory-bank-mcp-server/dist/index.js"
      ],
      "env": {},
      "transportType": "stdio"
    }

    // ... 其他服务器配置 ...
  }
}

重要提示:/path/to/your/cloned/repo/替换为您机器上克隆仓库的实际绝对路径。确保路径分隔符适合您的操作系统(例如,在Windows上使用反斜杠\)。

运行服务器

通常不需要手动运行服务器。当MCP客户端(如Cline)首次调用其工具之一时,它会根据配置文件中的commandargs自动启动服务器。

如果您想手动测试,可以从项目目录运行npm start

使用方法

AI助手通过定义的工具与服务器进行交互。典型的工作流程包括:

  1. 检查记忆库状态(check_memory_bank_status)。
  2. 如有必要,初始化(initialize_memory_bank)。
  3. 读取相关文件(read_memory_bank_file)以获取上下文。
  4. 在做出决策或取得进展时追加条目(append_memory_bank_entry)。

memory-bank/ 目录将在服务器进程启动的同一目录中创建(当通过MCP客户端配置启动时,应为该项目目录的根目录)。

自定义指令

在Roo中设置这些指令

您必须在需要的地方使用MCPs

我有一个特定的MCP流程:

使用context7查找您在此过程中需要的任何相关文档片段,确保将任何相关信息传递给相关的子任务——始终使用context7进行重要的文档研究,如果您不确定某些事情。 使用google maps mcp搜索<细分市场>+<县>——这将帮助我们找到完成任务所需的基本企业。 使用brave search mcp查找要抓取的URL。 使用fetch mcp与fetch_txt和fetch_markdown结合,从页面中找到文本和图像,以便转换为JSON文件并创建深入的内容。 使用openrouter搜索查找主题的一般情绪、评论等。

利用 roo-code-memory-bank-mcp 服务器来维持项目上下文:

  • 在任务或重大子任务开始时,使用 check_memory_bank_status
  • 如果记忆库存在(exists: true),使用 read_memory_bank_file 读取相关文件(如 productContext.mdactiveContext.md),加载当前项目上下文。
  • 将加载的上下文纳入您的计划和执行中。
  • 在做出重大决策、进度更新或架构更改时,使用 append_memory_bank_entry 记录信息到适当的文件(如 decisionLog.mdprogress.md 等),确保上下文持久性。
  • 如果记忆库不存在,考虑根据项目情况使用 initialize_memory_bank