Server profile

Memory Bank MCP Server

Manage project memory files through an MCP assistant using a shared storage root. The server separates projects and provides file discovery, reading, creation, and updates for memory-bank workflows.

Server facts

Memory Bank MCP Server

Tech

Runtime / language
nodeTypeScript
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
921
Last commit
Data as of

Tags

  • File Storage
  • Memory Bank
  • Multi Project
  • Project Context
  • Typescript

Overview

Memory Bank MCP Server turns a file-based memory-bank workflow into an MCP-accessible service. Inspired by the Cline Memory Bank approach, it lets assistants work with stored project context using explicit file operations. A single storage root holds multiple project directories, so users can maintain separate memory banks without configuring a different server for each project. The server exposes project discovery and per-project file listing alongside read, create, and update operations.

The README emphasizes predictable file structure and separation between projects. Path validation is intended to prevent traversal outside the expected project layout, while project-existence checks and error handling support safer file access. The implementation is described as type-safe, and its development guidance uses TypeScript. Its documented interface centers on files and projects; it does not present a knowledge graph or a semantic-search toolset. That focus suits assistants whose persistent context is already organized as readable project documents.

Client examples cover Cline, Roo Code, Cursor, Claude Desktop, and Claude Code. The standard package launch uses npx with a MEMORY_BANK_ROOT environment variable pointing to the desired storage directory. The README also provides an automated Smithery installation route and a Docker configuration with a mounted directory. Some examples automatically approve memory operations, including writes, so users should distinguish the server's project isolation from the approval policy configured in their client. Docker users additionally need the host directory mapped to the container's memory location.

Install & configure

Requirements

  • Node.js and npx
  • An MCP-compatible client
  • A configured memory-bank storage directory
Documented launch / install command
npx -y @allpepper/memory-bank-mcp@latest

This follows the README's Claude configuration. Set the storage root to your directory. Docker is an alternative and requires a host-volume mapping. Review any client auto-approval settings separately from the server launch.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp@latest"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "<directory that will hold project memory banks>"
      }
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

Cursor configuration
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp@latest"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "<directory that will hold project memory banks>"
      }
    }
  }
}

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "memory-bank-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp@latest"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "<directory that will hold project memory banks>"
      }
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

Windsurf configuration
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp@latest"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "<directory that will hold project memory banks>"
      }
    }
  }
}

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "memory-bank-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp@latest"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "<directory that will hold project memory banks>"
      }
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
memory_bank_readRead a file from a selected project's memory bank.
memory_bank_writeCreate a new memory document within a project.
memory_bank_updateRevise an existing project memory file.
list_projectsDiscover projects stored beneath the memory-bank root.
list_project_filesEnumerate the memory files belonging to one project.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Keep a coding assistant's project notes available between sessions.
  • Manage memory documents for several projects from one server.
  • Find and read an existing project's context files.
  • Create or revise memory-bank documents through an MCP client.

Strengths

  • Provides a small, explicit file-oriented memory interface.
  • Supports separate project directories under one storage root.
  • Documents configurations for several coding clients and Docker.

Limitations

  • Requires choosing and maintaining a storage directory.
  • The documented interface does not include semantic-search tools.
  • Sample client settings can auto-approve writes and should be reviewed.

Frequently asked questions

Yes. The README describes project-specific directories, project listing, and per-project file listing.

MEMORY_BANK_ROOT selects the directory containing the project memory banks.

The documented tools read files, create new files, update existing files, and list projects and their files.

Yes. It documents building a local image and mounting a host memory directory into the container.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

MCP Server for Obsidian

Memory & Knowledge

MCP Server for Obsidian connects assistants to an Obsidian vault through the Local REST API plugin. It supports note discovery, reading, search, targeted insertion, appending, and deletion for conversational knowledge workflows.

Notion MCP Server

Memory & Knowledge

Connect an MCP client to the Notion API to work with pages and data sources. This local server supports Markdown content operations, but Notion now prioritizes its separate remote MCP service.

MCP Knowledge Graph

Memory & Knowledge

Keep assistant memories as local entities, relationships, and facts across conversations. MCP Knowledge Graph supports project-specific and global JSONL stores, optional topic databases, and explicit memory editing tools.

Grounded Docs MCP Server

Memory & Knowledge

Grounded Docs MCP Server builds a documentation index that coding assistants can query by library version. It ingests websites, repositories, packages, and local files, with CLI, Web UI, and MCP access.

Context Portal MCP (ConPort)

Memory & Knowledge

Context Portal stores structured project memory for AI assistants in a workspace-specific SQLite database. It tracks decisions, progress, architecture, and custom context, with relationships and semantic search for retrieval.

Basic Memory

Memory & Knowledge

Basic Memory gives AI clients persistent knowledge stored as Markdown that people can also edit. It combines linked notes, semantic search, and optional cloud collaboration.

Qdrant MCP Server

Memory & Knowledge

Qdrant MCP Server stores information and retrieves relevant memories through semantic search. It connects MCP clients to a Qdrant service or a local database path.

Obsidian MCP Server

Memory & Knowledge

Obsidian MCP Server gives assistants note reading, search, and targeted editing in an Obsidian vault. It includes tag and frontmatter management, optional path restrictions, and stdio or streamable HTTP operation.