home / mcp / memory bank mcp server

Memory Bank MCP Server

A Model Context Protocol (MCP) server implementation for remote memory bank management, inspired by Cline Memory Bank.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "alioshr-memory-bank-mcp": {
      "url": "https://mcp.example.com/memory-bank",
      "headers": {
        "MEMORY_BANK_ROOT": "/path/to/memory-bank"
      }
    }
  }
}

The Memory Bank MCP Server provides remote, MCP-based access to project memory banks. It centralizes memory bank files, enforces per-project isolation, and exposes memory operations over the MCP protocol so you can read, write, update, and list banks from your AI assistant or tooling.

How to use

You connect to the Memory Bank MCP Server from an MCP client (Cursor, Claude, Roo Code, or other MCP-enabled tools). You can read memory bank files, create new banks, update existing ones, and list available projects and the files within each project. The server keeps different projects isolated, so actions in one project don’t affect another.

How to install

Prerequisites: you need Node.js installed on your system (Node.js 14+ is recommended). You also need npm or another package manager that can run MCPs via npx.

# Optional: verify Node and npm
node -v
npm -v

# Create or pick a directory to store memory banks
mkdir -p /path/to/memory-bank
export MEMORY_BANK_ROOT=/path/to/memory-bank

# Start the Memory Bank MCP Server (stdio config)
MEMORY_BANK_ROOT=/path/to/memory-bank npx -y @allpepper/memory-bank-mcp@latest

Configuration and usage notes

Two common ways to run and configure the server are shown here. The server runs in stdio mode and uses an environment variable to determine where banks are stored.

{
  "allpepper-memory-bank": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "@allpepper/memory-bank-mcp@latest"],
    "env": {
      "MEMORY_BANK_ROOT": "YOUR_PATH"
    },
    "disabled": false,
    "autoApprove": [
      "memory_bank_read",
      "memory_bank_write",
      "memory_bank_update",
      "list_projects",
      "list_project_files"
    ]
  }
}
```

This configuration runs the MCP server via npx and exposes the root directory for memory banks through MEMORY_BANK_ROOT. You can replace YOUR_PATH with the actual path to your banks.

Docker and local development

If you prefer Docker for isolation or testing, you can build and run a local image, then pass the bank root as an environment variable.

# Build the image locally
docker build -t memory-bank-mcp:local .

# Run a container for testing
docker run -i --rm \
  -e MEMORY_BANK_ROOT="/mnt/memory_bank" \
  -v /path/to/memory-bank:/mnt/memory_bank \
  --entrypoint /bin/sh \
  memory-bank-mcp:local \
  -c "ls -la /mnt/memory_bank"
```

Follow the same MEMORY_BANK_ROOT convention in your environment when using the container.

Available tools

memory_bank_read

Read memory bank files from a project, returning the content of requested banks or files.

memory_bank_write

Create new memory bank files within a project folder.

memory_bank_update

Update existing memory bank files with new content or metadata.

list_projects

List all available projects that host memory bank files.

list_project_files

List files contained within a specific project’s memory bank directory.