Skip to content

Sato-Isolated/memory-bank-mcp-mongo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Memory Bank MCP Server

Fork Notice: This is a fork of the original memory-bank-mcp by Aliosh Pimenta, enhanced with MongoDB-native features and real-time statistics tracking.

A modern Model Context Protocol (MCP) server implementation for MongoDB-powered memory bank management.

Key Features

  • πŸ—„οΈ MongoDB-powered storage with advanced indexing and search capabilities
  • 🏒 Multi-project isolation with automatic project management
  • πŸ“Š Real-time statistics tracking for all projects and files
  • πŸ”’ Type-safe operations with Zod validation and error handling
  • πŸ”€ Smart merge functionality with automatic cleanup
  • πŸš€ Optimized MCP protocol implementation

Prerequisites

  • MongoDB Server running locally or remotely (MongoDB 4.4+ recommended)
  • Node.js 18+ for running the MCP server
  • An MCP-compatible client (Claude Desktop, Cline, Cursor, etc.)

Installation

NPM Installation (Recommended)

npm install -g memory-bank-mcp-mongodb

Manual Installation

git clone https://github.com/Sato-Isolated/memory-mongo-bank-mcp.git
cd memory-mongo-bank-mcp
pnpm install
pnpm run build

Quick Start

  1. Start MongoDB:

    # Windows (if installed as service)
    net start MongoDB
    
    # macOS/Linux
    mongod
    
    # Or use Docker
    docker run -d -p 27017:27017 mongo:latest
  2. Configure your MCP client (see Configuration section below)

Configuration

Environment Variables

  • MONGODB_URL (required): MongoDB connection string (e.g., mongodb://localhost:27017)
  • MONGODB_DB (optional): MongoDB database name (defaults to memory_bank)

MCP Client Configuration

VS Code with MCP Extension:

{
  "mcp": {
    "servers": {
      "memory-bank-mongo": {
        "command": "npx",
        "args": ["-y", "memory-bank-mcp-mongodb"],
        "env": {
          "MONGODB_URL": "mongodb://localhost:27017",
          "MONGODB_DB": "memory_bank"
        }
      }
    }
  }
}

Claude Desktop, Cline, Cursor:

{
  "memory-bank": {
    "command": "npx",
    "args": ["-y", "memory-bank-mcp-mongodb"],
    "env": {
      "MONGODB_URL": "mongodb://localhost:27017",
      "MONGODB_DB": "memory_bank"
    }
  }
}

Cursor (Alternative):

env MONGODB_URL=mongodb://localhost:27017 MONGODB_DB=memory_bank npx -y memory-bank-mcp-mongodb

Documentation

This project uses distributed documentation to help you navigate different sections:

πŸ“š Architecture & Code Structure

Available Tools

🎯 Priority Tools (Start Here)

πŸ“‹ list_projects

[PRIORITY 1 - START HERE] List all projects in the memory bank. ALWAYS use this first to discover available projects before any other operation. Essential for understanding workspace structure.

πŸ“ list_project_files

[PRIORITY 2 - EXPLORE] List all files within a specific project. Use after list_projects to discover what files exist before reading them. Critical for understanding project content.

πŸ“– memory_bank_read

[PRIORITY 3 - READ] Read a memory bank file for a specific project. Primary method to access file content. Use after list_project_files to read specific files.

πŸ” memory_bank_search

[HIGH PRIORITY - SEARCH] Search for files containing specific text within a project. Essential for finding relevant files when you don't know exact filenames.

πŸ“ File Management Tools

✏️ memory_bank_write

[CREATE NEW] Create a new memory bank file for a specific project. Use when you need to create brand new files.

πŸ”„ memory_bank_update

[MODIFY EXISTING] Update an existing memory bank file for a specific project. Automatically creates version history.

πŸ”€ memory_bank_merge

[COMPREHENSIVE VIEW] Merge all files from a project into a single formatted document. Excellent for understanding full project context.

🏷️ memory_bank_get_files_by_tags

[SMART FILTER] Find files in a project by their tags. Helpful when you know the type of content you're looking for but not exact filenames.

πŸ“Š memory_bank_get_project_stats

[PROJECT OVERVIEW] Get statistics for a project including file count and total size. Use to understand project scope and scale.

πŸ—‘οΈ Deletion Tools (Use with Caution)

πŸ—‘οΈ memory_bank_delete_file

[CAREFUL - DELETE FILE] Delete a specific file from a project. ⚠️ WARNING: This action is permanent and cannot be undone.

πŸ’₯ memory_bank_delete_project

[DANGER - DELETE PROJECT] Delete an entire project and all its files. ⚠️ EXTREME CAUTION: This action is permanent and cannot be undone.

πŸ“š Version Control Tools

πŸ“š memory_bank_version_history

[VERSION HISTORY] Get complete version history for a specific file. Shows all previous versions with metadata and timestamps.

πŸ“„ memory_bank_read_version

[READ SPECIFIC VERSION] Read the content of a specific file version. Use to view historical content of a particular version.

βͺ memory_bank_revert_file_to_version

[RESTORE PREVIOUS VERSION] Restore a file to a previous version. Creates a new version with the old content for safety.

πŸ” memory_bank_compare_versions

[COMPARE VERSIONS] Compare two versions of a file to see differences. Use to understand what changed between versions.

🧹 memory_bank_cleanup_old_versions

[MAINTENANCE] Clean up old file versions to save storage space. Keeps recent versions and removes older ones.

πŸš€ Project Template Tools

πŸ“‹ memory_bank_get_project_templates

[TEMPLATE DISCOVERY] List available project templates. Essential when starting new projects from predefined structures.

πŸš€ memory_bank_create_project_from_template

[RAPID PROJECT CREATION] Create a new project using a template. Fastest way to start structured projects.

⚑ memory_bank_install_predefined_templates

[FIRST-TIME SETUP] Install built-in project templates. Run this ONCE when first using the system to add default templates.

MongoDB Setup Examples

Local MongoDB:

MONGODB_URL=mongodb://localhost:27017
MONGODB_DB=memory_bank

MongoDB Atlas (Cloud):

MONGODB_URL=mongodb+srv://username:password@cluster.mongodb.net
MONGODB_DB=memory_bank

Troubleshooting

"Failed to connect to MongoDB"

  • Ensure MongoDB is running on the specified port
  • Check network connectivity and firewall settings
  • Verify connection string format and credentials

"MONGODB_URL environment variable is required"

  • Set the required environment variables in your MCP client configuration
  • Verify the environment variables are properly formatted

Tools not appearing in AI client

  • Restart your AI client after configuration changes
  • Check that the package is properly installed
  • Review client logs for connection errors

License

MIT License - see the LICENSE file for details.

Links


A modern, MongoDB-powered memory bank solution for AI assistants and development workflows.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7