该项目实现了 Roo Code Memory Bank 系统的核心功能作为模型上下文协议(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 }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/目录中。要使此服务器可供您的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)首次调用其工具之一时,它会根据配置文件中的command和args自动启动服务器。
如果您想手动测试,可以从项目目录运行npm start。
AI助手通过定义的工具与服务器进行交互。典型的工作流程包括:
check_memory_bank_status)。initialize_memory_bank)。read_memory_bank_file)以获取上下文。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.md、activeContext.md),加载当前项目上下文。append_memory_bank_entry 记录信息到适当的文件(如 decisionLog.md、progress.md 等),确保上下文持久性。initialize_memory_bank。