Memory Bank MCP server

Transforms file-based memory banks into a centralized, remotely accessible service for multi-project management with consistent structure and validation.
Back to servers
Provider
Aliosh Pimenta
Release date
Feb 16, 2025
Language
TypeScript
Stats
295 stars

Memory Bank MCP Server is a Model Context Protocol implementation that transforms traditional file-based memory banks into a centralized service. It provides remote access to memory banks, enables multi-project management, maintains consistent file structure, and ensures proper isolation between project memory banks.

Installation

You can install Memory Bank Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @alioshr/memory-bank-mcp --client claude

Alternatively, you can install and configure it manually as described below.

Configuration

The memory bank MCP server needs to be configured in your MCP settings file. The location depends on your setup:

  • For Cline extension: ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • For Roo Code VS Code extension: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
  • For Claude desktop app: ~/Library/Application Support/Claude/claude_desktop_config.json

Add the following configuration to your MCP settings:

{
  "allpepper-memory-bank": {
    "command": "npx",
    "args": ["-y", "@allpepper/memory-bank-mcp"],
    "env": {
      "MEMORY_BANK_ROOT": "<path-to-bank>"
    },
    "disabled": false,
    "autoApprove": [
      "memory_bank_read",
      "memory_bank_write",
      "memory_bank_update",
      "list_projects",
      "list_project_files"
    ]
  }
}

Configuration Details

  • MEMORY_BANK_ROOT: Directory where project memory banks will be stored (e.g., /path/to/memory-bank)
  • disabled: Set to false to enable the server
  • autoApprove: List of operations that don't require explicit user approval:
    • memory_bank_read: Read memory bank files
    • memory_bank_write: Create new memory bank files
    • memory_bank_update: Update existing memory bank files
    • list_projects: List available projects
    • list_project_files: List files within a project

Cursor Configuration

For Cursor, open the settings -> features -> add MCP server -> add the following:

env MEMORY_BANK_ROOT=<path-to-bank> npx -y @allpepper/memory-bank-mcp@latest

Docker Setup

If you prefer using Docker:

  1. Build the Docker image:
docker build -t memory-bank-mcp:local .
  1. Run the Docker 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"
  1. Add MCP configuration for Docker (example for Roo Code):
"allpepper-memory-bank": {
  "command": "docker",
  "args": [
    "run", "-i", "--rm",
    "-e", 
    "MEMORY_BANK_ROOT",
    "-v", 
    "/path/to/memory-bank:/mnt/memory_bank",
    "memory-bank-mcp:local"
  ],
  "env": {
    "MEMORY_BANK_ROOT": "/mnt/memory_bank"
  },
  "disabled": false,
  "alwaysAllow": [
    "list_projects",
    "list_project_files",
    "memory_bank_read",
    "memory_bank_update",
    "memory_bank_write"
  ]
}

Features and Usage

The Memory Bank MCP Server provides several key features:

Multi-Project Support

  • Project-specific directories
  • File structure enforcement
  • Path traversal prevention
  • Project listing capabilities
  • File listing per project

Remote Accessibility

  • Full MCP protocol implementation
  • Type-safe operations
  • Proper error handling
  • Security through project isolation

Core Operations

  • Read/write/update memory bank files
  • List available projects
  • List files within projects
  • Project existence validation
  • Safe read-only operations

Once configured, you can start using the memory bank tools directly in your AI assistant. The server will handle the file operations for you according to your project structure.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later