Roo Code Memory Bank MCP Server
Enables AI assistants to maintain persistent project context across sessions by storing and retrieving structured information in markdown files organized in a memory bank directory.
Tools
append_memory_bank_entry
Appends a new, timestamped entry to a specified file, optionally under a specific markdown header.
initialize_memory_bank
Creates the memory-bank directory and standard .md files with initial templates.
check_memory_bank_status
Checks if the memory-bank directory exists and lists the .md files within it.
read_memory_bank_file
Reads the full content of a specified memory bank file.
README
Roo Code Memory Bank MCP Server
This project implements the core functionality of the Roo Code Memory Bank system as a Model Context Protocol (MCP) server. It allows AI assistants to maintain project context across sessions by interacting with a file-based memory bank using structured MCP tools.
Features
This MCP server provides the following tools:
initialize_memory_bank: Creates thememory-bank/directory and standard.mdfiles (productContext.md,activeContext.md,progress.md,decisionLog.md,systemPatterns.md) with initial templates.- Input: (Optional)
{ "project_brief_content": string } - Output:
{ "status": "success" | "error", "messages"?: string[], "message"?: string }
- Input: (Optional)
check_memory_bank_status: Checks if thememory-bank/directory exists and lists the.mdfiles within it.- Input:
{} - Output:
{ "exists": boolean, "files": string[] }
- Input:
read_memory_bank_file: Reads the full content of a specified memory bank file.- Input:
{ "file_name": string } - Output:
{ "content": string }or error object.
- Input:
append_memory_bank_entry: Appends a new, timestamped entry to a specified file, optionally under a specific markdown header. Creates the file if it doesn't exist.- Input:
{ "file_name": string, "entry": string, "section_header"?: string } - Output:
{ "status": "success" | "error", "message": string }
- Input:
Prerequisites
- Node.js (v18 or later recommended)
- npm (usually included with Node.js)
- An MCP client environment (like the one used by Cline) capable of managing and launching MCP servers.
Installation
- Clone the repository:
git clone https://github.com/IncomeStreamSurfer/roo-code-memory-bank-mcp-server.git cd roo-code-memory-bank-mcp-server - Install dependencies:
npm install - Build the project:
This compiles the TypeScript code into JavaScript in thenpm run builddist/directory.
Configuration (for Cline MCP Client)
To make this server available to your AI assistant (like Cline), you need to add its configuration to your MCP settings file (e.g., cline_mcp_settings.json).
Find the mcpServers object in your settings file and add the following entry:
{
"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 ...
}
}
Important: Replace /path/to/your/cloned/repo/ with the correct absolute path to where you cloned the repository on your machine. Ensure the path separator is correct for your operating system (e.g., use backslashes \ on Windows).
Running the Server
You don't typically need to run the server manually. The MCP client (like Cline) will automatically start the server using the command and args specified in the configuration file when one of its tools is called for the first time.
If you want to test it manually, you can run npm start from the project directory.
Usage
The AI assistant interacts with the server using the defined tools. The typical workflow involves:
- Checking the memory bank status (
check_memory_bank_status). - Initializing if needed (
initialize_memory_bank). - Reading relevant files (
read_memory_bank_file) to gain context. - Appending entries (
append_memory_bank_entry) as decisions are made or progress occurs.
The memory-bank/ directory will be created in the same directory where the server process is started (which should be the root of this project directory when launched via the MCP client configuration).
Custom instructions
Set these instructions inside Roo
You must use MCPs where needed
I have a specific MCP flow:
Use context7 to find any relevant documentation pieces you will need for this process, ensure to feed any relevant knoweldege to any relevant subtasks - use context7 at all times to do research on important documentation if you're unsure of something Use google maps mcp in order to search for <niche> + <county> - this will allow us to find the basic businesses we need to accomplish our task Use brave search mcp to find URLs to scrape Use fetch mcp with fetch_txt and fetch_markdown to find text and images on pages in order to convert into JSON files and create something in-depth Use openrouter search to find general sentiment of topics, reviews, etc.
Utilize the roo-code-memory-bank-mcp server to maintain project context:
- At the start of a task or significant subtask, use
check_memory_bank_status. - If the memory bank exists (
exists: true), useread_memory_bank_filefor relevant files (e.g.,productContext.md,activeContext.md) to load the current project context. - Incorporate this loaded context into your planning and execution.
- When making significant decisions, progress updates, or architectural changes, use
append_memory_bank_entryto record the information in the appropriate file (decisionLog.md,progress.md, etc.), ensuring context persistence. - If the memory bank doesn't exist, consider using
initialize_memory_bankif appropriate for the project.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.