home / mcp / roo code memory bank mcp server

Roo Code Memory Bank MCP Server

Provides a file-based memory bank MCP server that lets AI assistants persist project context across sessions via structured memory files.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "incomestreamsurfer-roo-code-memory-bank-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/your/cloned/repo/roo-code-memory-bank-mcp-server/dist/index.js"
      ]
    }
  }
}

You run a small, file-based memory bank as a Model Context Protocol (MCP) server to help AI assistants persist and reference project context across sessions. It exposes a set of tools to initialize, inspect, read, and append entries to memory files, keeping your project context consistent over time.

How to use

You interact with the memory bank MCP server through your MCP client. Start by checking whether the memory bank exists, initialize it if needed, then read relevant files to load context and append new entries as decisions or progress occur. Use each tool to keep a precise, timestamped record of context changes so your AI can reference past decisions and status in future sessions.

How to install

Prerequisites you need to have before starting:

Node.js (v18 or later recommended) and npm are required to run the MCP server.

Install and run steps are shown with concrete commands you should execute in your terminal.

Additional setup details

The server is designed to be run via an MCP client that launches the server process using a stdio configuration. The following configuration example demonstrates how to reference the compiled server and expose the available tools to your MCP client.

Configuration and usage notes

Available tools and their purposes are defined below. Use them in your MCP client configuration to enable automated interaction with the memory bank.

Security and maintenance notes

Keep the memory-bank directory and its markdown files under access control if you’re operating in a shared environment. Regularly back up the memory-bank directory to prevent data loss and ensure you have a rollback plan for any inadvertent modifications.

Available tools

initialize_memory_bank

Creates the memory-bank/ directory with standard .md files (productContext.md, activeContext.md, progress.md, decisionLog.md, systemPatterns.md) and populates them with initial templates. Optional input: { "project_brief_content": string } and output: { "status": "success" | "error", "messages"?: string[], "message"?: string }.

check_memory_bank_status

Checks for the existence of the memory-bank/ directory and lists the .md files it contains. Input: {} and output: { "exists": boolean, "files": string[] }.

read_memory_bank_file

Reads the full content of a specified memory bank file. Input: { "file_name": string } and output: { "content": string } or an error object.

append_memory_bank_entry

Appends a new, timestamped entry to a specified file, optionally under a specific markdown header. Creates the file if it does not exist. Input: { "file_name": string, "entry": string, "section_header"?: string } and output: { "status": "success" | "error", "message": string }