关于 Roo Code Memory Bank MCP Server
该项目是基于文件的 Roo Code Memory Bank 系统的 MCP 服务,帮助 AI 助手在多次会话之间保持项目上下文。它通过结构化工具读写 memory-bank/ 目录中的 Markdown 文件。
主要功能
- 01初始化 memory-bank/ 目录与模板文件
- 02检查记忆库状态并列出 .md 文件
- 03读取指定的记忆库文件
- 04按时间戳追加条目,可指定标题下写入
适用场景
- 01在新会话开始时加载项目上下文
- 02记录架构决策与进展更新
- 03为 Cline 或 Roo Code 提供持久化项目记忆
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露四个工具,用于检查、初始化、读取和追加记忆库文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Roo Code Memory Bank MCP 服务
此项目以 Model Context Protocol (MCP) 服务的形式,实现了 Roo Code Memory Bank 系统的核心功能。AI 助手可以通过结构化的 MCP 工具与基于文件的知识库交互,从而在不同会话之间保留项目上下文。
功能
此 MCP 服务提供以下工具:
initialize_memory_bank:创建memory-bank/目录,并使用初始模板创建标准.md文件(productContext.md、activeContext.md、progress.md、decisionLog.md、systemPatterns.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(建议 v18 或更高版本)
- npm(通常随 Node.js 一起安装)
- 能够管理并启动 MCP 服务的 MCP 客户端环境(例如 Cline 使用的环境)。
安装
- 克隆代码库:
git clone https://github.com/IncomeStreamSurfer/roo-code-memory-bank-mcp-server.git cd roo-code-memory-bank-mcp-server - 安装依赖项:
npm install - 构建项目:
此操作会将 TypeScript 代码编译为 JavaScript,并输出到npm run builddist/目录。
配置(适用于 Cline MCP 客户端)
要让 AI 助手(例如 Cline)使用此服务,需要将其配置添加到 MCP 设置文件中(例如 cline_mcp_settings.json)。
在设置文件中找到 mcpServers 对象,并添加以下条目:
{
"mcpServers": {
// ... other server configurations ...
"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", // Or "cmd.exe" with "/c node ..." on Windows if needed
"args": [
// IMPORTANT: Replace this path with the actual absolute path
// to the compiled index.js file on your system
"/path/to/your/cloned/repo/roo-code-memory-bank-mcp-server/dist/index.js"
],
"env": {},
"transportType": "stdio"
}
// ... other server configurations ...
}
}
**重要:**将 /path/to/your/cloned/repo/ 替换为你在计算机上克隆代码库的正确绝对路径。请确保路径分隔符符合你的操作系统要求(例如,在 Windows 上使用反斜杠 \)。
运行服务
通常无需手动运行此服务。首次调用其中一个工具时,MCP 客户端(例如 Cline)会根据配置文件中指定的 command 和 args 自动启动服务。
如果要手动测试,可以在项目目录中运行 npm start。
用法
AI 助手通过定义的工具与服务交互。典型工作流如下:
- 检查知识库状态(
check_memory_bank_status)。 - 如有需要,进行初始化(
initialize_memory_bank)。 - 读取相关文件(
read_memory_bank_file)以获取上下文。 - 随着决策制定或进度推进,追加记录(
append_memory_bank_entry)。
memory-bank/ 目录将在启动服务进程时所在的同一目录中创建(通过 MCP 客户端配置启动时,该目录应为此项目的根目录)。
自定义指令
在 Roo 中设置这些指令
需要时必须使用 MCP
我有一个特定的 MCP 工作流:
使用 context7 查找此流程所需的任何相关文档内容;确保将任何相关知识提供给相关子任务。如果不确定,请始终使用 context7 研究重要文档 使用 google maps mcp 搜索 + ——这样我们就能找到完成任务所需的基本商家 使用 brave search mcp 查找要抓取的 URL 使用 fetch mcp,通过 fetch_txt 和 fetch_markdown 查找页面上的文本和图片,以便转换为 JSON 文件并创建深入的内容 使用 openrouter search 查找主题、评论等方面的总体情绪
使用 roo-code-memory-bank-mcp 服务维护项目上下文:
- 在任务或重要子任务开始时,使用
check_memory_bank_status。 - 如果记忆库存在(
exists: true),使用read_memory_bank_file读取相关文件(例如productContext.md、activeContext.md),以加载当前项目上下文。 - 将加载的上下文纳入规划和执行。
- 做出重要决策、更新进度或进行架构变更时,使用
append_memory_bank_entry将信息记录到相应文件(例如decisionLog.md、progress.md),确保上下文得以保留。 - 如果记忆库不存在,可考虑在适合该项目时使用
initialize_memory_bank。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。