Roo代码存储库MCP服务器
该项目实现了 Roo代码存储库 系统作为模型上下文协议(MCP)服务器。它允许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- 构建项目:
npm run build这将TypeScript代码编译为JavaScript dist/ 目录。
配置(适用于临床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查找此过程所需的任何相关文档,确保将任何相关知识提供给任何相关子任务-如果您不确定某些内容,请始终使用context8对重要文档进行研究 使用谷歌地图mcp搜索 + -这将使我们能够找到完成任务所需的基本业务 使用勇敢的搜索mcp查找要抓取的网址 使用fetch_txt和fetch_markdown中的fetch-mcp来查找页面上的文本和图像,以便转换为JSON文件并创建深入的内容 使用openrouter搜索来查找主题、评论等的总体情绪。
利用 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如果适合该项目。
