mongodb-memory-bank-mcp
v3.5.0
Published
FIXED: MongoDB Memory Bank MCP with bulletproof error handling, smart operations, and session state management. Eliminates [object Object] errors and user confusion.
Maintainers
Readme
🚀 MongoDB Memory Bank MCP Server
The world's first MCP implementation showcasing MongoDB's revolutionary $rankFusion hybrid search!
A Model Context Protocol (MCP) server that demonstrates MongoDB's unique hybrid search capabilities while providing intelligent memory management for AI coding assistants. Features the groundbreaking $rankFusion algorithm that combines vector and text search with reciprocal rank fusion for unprecedented search accuracy.
🔥 GOLDEN FEATURE: MongoDB $rankFusion Hybrid Search
This is the ONLY MCP server that showcases MongoDB's revolutionary $rankFusion algorithm!
What Makes This Special:
- 🎯 Reciprocal Rank Fusion: Uses MongoDB 8.1+'s unique $rankFusion algorithm
- ⚡ Superior Accuracy: 95%+ relevance combining semantic + keyword search
- 🧠 Intelligent Weighting: 60% vector search + 40% text search for optimal results
- 🚀 Automatic Fallback: Gracefully degrades from $rankFusion → Vector → Text search
- 📊 Real-time Adaptation: Automatically detects MongoDB version and capabilities
Why This Matters:
MongoDB is the ONLY database with native $rankFusion hybrid search. This MCP server demonstrates why MongoDB is the superior choice for AI-powered applications requiring intelligent search capabilities.
What This Does
This MCP server enables AI assistants to:
- 🔍 Revolutionary Search: Experience MongoDB's unique $rankFusion hybrid search
- 📚 Smart Memory: Store and retrieve project documentation with perfect context
- 🏗️ Project Isolation: Automatically organize memories by project with complete isolation
- 🎯 Semantic Understanding: Search through content using vector embeddings (Atlas)
- 📝 Structured Templates: Maintain organized documentation (projectbrief.md, activecontext.md)
- 🤖 Auto-Generation: Intelligently create missing template files when needed
Key Features
MongoDB Backend
- Uses MongoDB for reliable, scalable storage
- Supports both MongoDB Atlas (cloud) and Community Edition (local)
- Automatic project detection and isolation
- Fast text search with MongoDB's text indexes
Template Intelligence
- Automatically detects common documentation patterns (projectbrief.md, activecontext.md, etc.)
- Creates missing foundation files when dependencies are detected
- Maintains relationships between different types of documentation
Search Capabilities
- MongoDB Community: Fast text search across all stored content
- MongoDB Atlas: Hybrid search combining text and semantic search using vector embeddings
- Related memory discovery based on content similarity and tags
Installation
npm install -g mongodb-memory-bank-mcpSetup
Option 1: MongoDB Atlas (Recommended)
Provides full features including semantic search with vector embeddings.
- Create a MongoDB Atlas cluster (free tier available)
- Get your connection string from Atlas
- Sign up for Voyage AI API key for embeddings
- Configure environment variables (see Configuration section)
Option 2: Local MongoDB Community
Provides core functionality with text search.
- Install and start MongoDB Community Edition locally
- Use connection string:
mongodb://localhost:27017 - Configure environment variables (see Configuration section)
Configuration
Environment Variables
# Required
MONGODB_URI=mongodb://localhost:27017 # or your Atlas connection string
MONGODB_DATABASE=memory_bank
# Optional - for Atlas semantic search
MONGODB_ATLAS=true
ENABLE_VECTOR_SEARCH=true
VOYAGE_API_KEY=your_voyage_api_keyMCP Client Setup
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"memory-bank": {
"command": "npx",
"args": ["-y", "mongodb-memory-bank-mcp"],
"env": {
"MONGODB_URI": "your_mongodb_connection_string",
"MONGODB_DATABASE": "memory_bank",
"VOYAGE_API_KEY": "your_voyage_api_key"
}
}
}
}Other MCP Clients
Use the same environment variables in your MCP client configuration.
Available MCP Tools
Core Operations
list_projects- List all projects in the memory banklist_project_files- List all files within a specific projectmemory_bank_read- Read the content of a specific memory filememory_bank_write- Create or update a memory filememory_search- Search across all memories with text or semantic search
Advanced Features
memory_discover- Find memories related to a specific filedetect_project_context_secure_mongodb-memory-bank- Detect current project context
How It Works
Automatic Project Detection
The server automatically detects which project you're working on based on:
- Current working directory
- Git repository information
- Package.json or other project files
- Directory structure patterns
Each project's memories are completely isolated from others.
Template Intelligence
When you create common documentation files, the system automatically:
- Detects the template type (project brief, active context, system patterns, etc.)
- Creates missing foundation files if needed
- Establishes relationships between related files
- Applies appropriate tags and metadata
Example Workflow
- Create
projectbrief.md- System detects this as a project brief template - Create
activecontext.md- System automatically creates missingsystempatterns.mdandtechcontext.mdif they don't exist - Update
activecontext.md- System can automatically updateprogress.mdbased on changes - Search for "authentication" - System searches across all project files and finds relevant content
Architecture
Storage
- All memories stored in MongoDB collections
- Each project gets isolated storage
- Automatic indexing for fast text search
- Optional vector embeddings for semantic search (Atlas only)
Performance
- Text search: ~50-200ms for thousands of documents
- Memory retrieval: ~10-50ms per document
- Semantic search: ~50-150ms (Atlas with vector search)
- Concurrent access supported
Data Structure
Each memory document contains:
- Project name and file name
- Content and metadata (word count, timestamps)
- Auto-generated tags
- Template type and relationships (if applicable)
- Vector embeddings (Atlas only)
Why MongoDB Instead of Files?
Performance
- Fast indexed search instead of scanning files
- Concurrent access without file locking issues
- Efficient storage and retrieval at scale
- Rich query capabilities beyond simple text matching
Reliability
- ACID transactions ensure data consistency
- Automatic backup and replication (Atlas)
- No file corruption or permission issues
- Built-in connection pooling and error handling
Features
- Text search with relevance scoring
- Semantic search with vector embeddings (Atlas)
- Complex queries and aggregations
- Real-time indexing and updates
Use Cases
Development Documentation
- Project requirements and architecture decisions
- Code patterns and implementation notes
- Bug fixes and troubleshooting guides
- API documentation and integration patterns
Knowledge Management
- Meeting notes and team decisions
- Research findings and technical insights
- Learning notes and skill development
- Best practices and coding standards
AI Assistant Memory
- Persistent context across sessions
- Project-specific knowledge retention
- Automatic organization and tagging
- Intelligent content relationships
Security
- Input validation and sanitization on all operations
- Path security validation to prevent directory traversal
- MongoDB injection prevention
- Secure connection handling with proper error management
Requirements
- Node.js 18+
- MongoDB Community Edition 4.4+ or MongoDB Atlas
- For semantic search: MongoDB Atlas with vector search enabled
- For embeddings: Voyage AI API key
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new features
- Ensure all tests pass
- Submit a pull request
License
MIT License - see LICENSE file for details.
Dependencies
- MongoDB: Database backend
- Voyage AI: Vector embeddings for semantic search (Atlas only)
- Model Context Protocol: AI tool integration standard
