doobidoo/mcp-memory-service
If you are the rightful owner of mcp-memory-service and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server providing semantic memory and persistent storage capabilities for Claude Desktop using ChromaDB and sentence transformers.
MCP Memory Service
A universal MCP memory service providing semantic memory search, persistent storage, and autonomous memory consolidation for AI assistants and development environments. This Model Context Protocol server works with Claude Desktop, VS Code, Cursor, Continue, WindSurf, LM Studio, Zed, and 13+ AI applications, featuring vector database storage with SQLite-vec for fast semantic search and a revolutionary dream-inspired consolidation system that automatically organizes, compresses, and manages your AI conversation history over time, creating a self-evolving knowledge base for enhanced AI productivity.
Help
- Talk to the Repo with TalkToGitHub!
- Use Gitprobe to digg deeper: GitProbe!
π Table of Contents
π Getting Started
- β‘ Quick Start
- π― Claude Code Commands (v2.2.0)
- π Remote MCP Memory Service (v4.0.0)
- π¦ Installation Methods
- βοΈ Claude MCP Configuration
π Features & Capabilities
- β¨ Features Overview
- π§ Dream-Inspired Memory Consolidation
- πΎ Storage Backends
- π§ Memory Operations
π Deployment & Multi-Client
π Documentation & Support
- π Usage Guide
- βοΈ Configuration Options
- π₯οΈ Hardware Compatibility
- π§ͺ Testing
- β FAQ
- π οΈ Troubleshooting
- π Comprehensive Documentation
π¨βπ» Development & Community
π Quick Start
Choose your preferred installation method to get started in under 5 minutes:
Option 1: Docker (Fastest - 2 minutes)
# Pull and run with default settings
docker pull doobidoo/mcp-memory-service:latest
docker run -d -p 8000:8000 -v $(pwd)/data:/app/data doobidoo/mcp-memory-service:latest
β
Perfect for: Testing, production deployment, isolation
β‘οΈ Complete Docker Setup
Option 2: Smithery (Simplest - 1 minute)
# Auto-install for Claude Desktop
npx -y @smithery/cli install @doobidoo/mcp-memory-service --client claude
β
Perfect for: Claude Desktop users, zero configuration
β‘οΈ Smithery Details
Option 3: Python Installer (Most Flexible - 5 minutes)
# Clone and install with hardware detection
git clone https://github.com/doobidoo/mcp-memory-service.git
cd mcp-memory-service && python install.py
β
Perfect for: Developers, customization, multi-client setup
β‘οΈ Full Installation Guide
π― NEW: Claude Code Commands (v2.2.0)
Get started in 2 minutes with direct memory commands!
# Install with Claude Code commands
python install.py --install-claude-commands
# Start using immediately
claude /memory-store "Important decision about architecture"
claude /memory-recall "what did we decide last week?"
claude /memory-search --tags "architecture,database"
claude /memory-health
β¨ 5 conversational commands following CCPlugins pattern
π Zero MCP server configuration required
π§ Context-aware operations with automatic project detection
π¨ Professional interface with comprehensive guidance
β‘οΈ |
π NEW: Remote MCP Memory Service (v4.0.0)
Production-ready remote memory service with native MCP-over-HTTP protocol!
Remote Deployment
Deploy the memory service on any server for cross-device access:
# On your server
git clone https://github.com/doobidoo/mcp-memory-service.git
cd mcp-memory-service
python install.py
python scripts/run_http_server.py
Server Access Points:
- MCP Protocol:
http://your-server:8000/mcp
(for MCP clients) - Dashboard:
http://your-server:8000/
(web interface) - API Docs:
http://your-server:8000/api/docs
(interactive API)
Remote API Access
Connect any MCP client or tool to your remote memory service:
# Test MCP connection
curl -X POST http://your-server:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}'
# Store memories remotely
curl -X POST http://your-server:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "store_memory",
"arguments": {
"content": "Your memory content",
"tags": ["tag1", "tag2"]
}
}
}'
Key Benefits:
- β Cross-Device Access: Connect from any device running Claude Code
- β Native MCP Protocol: Standard JSON-RPC 2.0 implementation
- β No Bridge Required: Direct HTTP/HTTPS connection
- β Production Ready: Proven deployment at scale
Features
π Universal AI Client Compatibility
Works with 13+ AI applications and development environments via the standard Model Context Protocol (MCP):
Client | Status | Configuration | Notes |
---|---|---|---|
Claude Desktop | β Full | claude_desktop_config.json | Official MCP support |
Claude Code | β Full | .claude.json | Optionally use Claude Commands instead () |
Cursor | β Full | .cursor/mcp.json | AI-powered IDE with MCP support |
WindSurf | β Full | MCP config file | Codeium's AI IDE with built-in server management |
LM Studio | β Full | MCP configuration | Enhanced compatibility with debug output |
Cline | β Full | VS Code MCP config | VS Code extension, formerly Claude Dev |
RooCode | β Full | IDE config | Full MCP client implementation |
Zed | β Full | Built-in config | Native MCP support |
VS Code | β Full | .vscode/mcp.json | Via MCP extension |
Continue IDE | β Full | Continue configuration | Extension with MCP support |
Standard MCP Libraries | β Full | Various | Python mcp , JavaScript SDK |
Custom MCP Clients | β Full | Implementation-specific | Full protocol compliance |
HTTP API | β Full | REST endpoints | Direct API access on port 8000 |
Core Benefits:
- π Cross-Client Memory Sharing: Use memories across all your AI tools
- π Universal Setup: Single installation works everywhere
- π Standard Protocol: Full MCP compliance ensures compatibility
- π Remote Access: HTTP/HTTPS support for distributed teams
β‘οΈ |
π§ Intelligent Memory System
Autonomous Memory Consolidation
- Dream-inspired processing with multi-layered time horizons (daily β yearly)
- Creative association discovery finding non-obvious connections between memories
- Semantic clustering automatically organizing related memories
- Intelligent compression preserving key information while reducing storage
- Controlled forgetting with safe archival and recovery systems
- Performance optimized for processing 10k+ memories efficiently
β‘ ONNX Runtime Support (NEW!)
- PyTorch-free operation using ONNX Runtime for embeddings
- Reduced dependencies (~500MB less disk space without PyTorch)
- Faster startup with pre-optimized ONNX models
- Automatic fallback to SentenceTransformers when needed
- Compatible models with the same all-MiniLM-L6-v2 embeddings
- Enable with:
export MCP_MEMORY_USE_ONNX=true
Advanced Memory Operations
- Semantic search using sentence transformers or ONNX embeddings
- Natural language time-based recall (e.g., "last week", "yesterday morning")
- Enhanced tag deletion system with flexible multi-tag support
- Tag-based memory retrieval system with OR/AND logic
- Exact match retrieval and duplicate detection
- Debug mode for similarity analysis and troubleshooting
Enhanced MCP Protocol Features (v4.1.0+)
- π URI-based Resources:
memory://stats
,memory://tags
,memory://recent/{n}
,memory://search/{query}
- π Guided Prompts: Interactive workflows (memory_review, memory_analysis, knowledge_export)
- π Progress Tracking: Real-time notifications for long operations
- π Database Synchronization: Multi-node sync with Litestream integration
- ποΈ Client Optimization: Auto-detection and optimization for Claude Desktop vs LM Studio
π Deployment & Performance
Storage Backends
- πͺΆ SQLite-vec (default): 10x faster startup, 75% less memory, zero network dependencies
- π¦ ChromaDB (legacy): Available for backward compatibility, deprecated in v6.0.0
Multi-Client Architecture
- Production FastAPI server with auto-generated SSL certificates
- mDNS Service Discovery for zero-configuration networking
- Server-Sent Events (SSE) with real-time updates
- API key authentication for secure deployments
- Cross-platform service installation (systemd, LaunchAgent, Windows Service)
Platform Support
- Cross-platform compatibility: Apple Silicon, Intel, Windows, Linux
- Hardware-aware optimizations: CUDA, MPS, DirectML, ROCm support
- Graceful fallbacks for limited hardware resources
- Container support with Docker images and Docker Compose configurations
Recent Highlights
π Latest Features
- v5.0.2: ONNX Runtime support for PyTorch-free embeddings and SQLite-vec consolidation fixes
- v5.0.0: SQLite-vec is now the default backend - 10x faster startup, 75% less memory
- v4.5.0: Database synchronization for distributed memory access across multiple machines
- v4.1.0: Enhanced MCP resources, guided prompts, and progress tracking
- v3.0.0: Dream-inspired autonomous memory consolidation with exponential decay
- v2.2.0: Claude Code Commands for direct conversational memory operations
β‘οΈ for complete version history and detailed release notes
Installation Methods
For quick setup, see the β‘ Quick Start section above.
π Intelligent Installer (Recommended)
The new unified installer automatically detects your hardware and selects the optimal configuration:
# Clone the repository
git clone https://github.com/doobidoo/mcp-memory-service.git
cd mcp-memory-service
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Run the intelligent installer
python install.py
# β¨ NEW: Multi-client setup is now integrated!
# You'll be prompted to configure universal MCP client access
# for Claude Desktop, VS Code, Continue, and other MCP applications
π― Hardware-Specific Installation
For Intel Macs: For detailed setup instructions specific to Intel Macs, see our .
For Legacy Hardware (2013-2017 Intel Macs):
python install.py --legacy-hardware
For Server/Headless Deployment:
python install.py --server-mode
For HTTP/SSE API Development:
python install.py --enable-http-api
For Migration from ChromaDB:
python install.py --migrate-from-chromadb
For Multi-Client Setup:
# Automatic multi-client setup during installation
python install.py --setup-multi-client
# Skip the interactive multi-client prompt
python install.py --skip-multi-client-prompt
For Claude Code Commands:
# Install with Claude Code commands (prompts if CLI detected)
python install.py --install-claude-commands
# Skip the interactive Claude Code commands prompt
python install.py --skip-claude-commands-prompt
π§ What the Installer Does
- Hardware Detection: CPU, GPU, memory, and platform analysis
- Intelligent Backend Selection: SQLite-vec by default, with ChromaDB as legacy option
- Platform Optimization: macOS Intel fixes, Windows CUDA setup, Linux variations
- Dependency Management: Compatible PyTorch and ML library versions
- Auto-Configuration: Claude Desktop config and environment variables
- Migration Support: Seamless ChromaDB to SQLite-vec migration
π Storage Backend Selection
SQLite-vec (default): 10x faster startup, zero dependencies, recommended for all users
ChromaDB (deprecated): Legacy support only, will be removed in v6.0.0
β‘οΈ Detailed Storage Backend Comparison
To explicitly select a backend during installation:
python install.py # Uses SQLite-vec by default
python install.py --storage-backend sqlite_vec # Explicitly use SQLite-vec
python install.py --storage-backend chromadb # Use legacy ChromaDB (not recommended)
Docker Installation
Docker Hub (Recommended)
The easiest way to run the Memory Service is using our pre-built Docker images:
# Pull the latest image
docker pull doobidoo/mcp-memory-service:latest
# Run with default settings (for MCP clients)
docker run -d -p 8000:8000 \
-v $(pwd)/data/chroma_db:/app/chroma_db \
-v $(pwd)/data/backups:/app/backups \
doobidoo/mcp-memory-service:latest
# Run in standalone mode (for testing/development)
docker run -d -p 8000:8000 \
-e MCP_STANDALONE_MODE=1 \
-v $(pwd)/data/chroma_db:/app/chroma_db \
-v $(pwd)/data/backups:/app/backups \
doobidoo/mcp-memory-service:latest
Docker Compose
We provide multiple Docker Compose configurations for different scenarios:
docker-compose.yml
- Standard configuration for MCP clientsdocker-compose.standalone.yml
- Standalone mode for testing/development (prevents boot loops)docker-compose.uv.yml
- Alternative configuration using UV package managerdocker-compose.pythonpath.yml
- Configuration with explicit PYTHONPATH settings
# Using Docker Compose (recommended)
docker-compose up
# Standalone mode (prevents boot loops)
docker-compose -f docker-compose.standalone.yml up
Building from Source
If you need to build the Docker image yourself:
# Build the image
docker build -t mcp-memory-service .
# Run the container
docker run -p 8000:8000 \
-v $(pwd)/data/chroma_db:/app/chroma_db \
-v $(pwd)/data/backups:/app/backups \
mcp-memory-service
uvx Installation
You can install and run the Memory Service using uvx for isolated execution:
# Install uv (which includes uvx) if not already installed
pip install uv
# Or use the installer script:
# curl -LsSf https://astral.sh/uv/install.sh | sh
# Install and run the memory service
uvx mcp-memory-service
# Or install from GitHub
uvx --from git+https://github.com/doobidoo/mcp-memory-service.git mcp-memory-service
Windows Installation (Special Case)
Windows users may encounter PyTorch installation issues due to platform-specific wheel availability. Use our Windows-specific installation script:
# After activating your virtual environment
python scripts/install_windows.py
This script handles:
- Detecting CUDA availability and version
- Installing the appropriate PyTorch version from the correct index URL
- Installing other dependencies without conflicting with PyTorch
- Verifying the installation
Installing via Smithery
To install Memory Service for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @doobidoo/mcp-memory-service --client claude
Detailed Installation Guide
For comprehensive installation instructions and troubleshooting, see the .
Configuration
Basic Client Configuration
Claude Desktop Configuration
Add to your claude_desktop_config.json
file:
{
"memory": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-memory-service", "run", "memory"],
"env": {
"MCP_MEMORY_STORAGE_BACKEND": "sqlite_vec",
"MCP_MEMORY_SQLITE_PATH": "/path/to/sqlite_vec.db",
"MCP_MEMORY_BACKUPS_PATH": "/path/to/backups"
}
}
}
Windows-Specific Configuration
For Windows, use the wrapper script for PyTorch compatibility:
{
"memory": {
"command": "python",
"args": ["C:\\path\\to\\mcp-memory-service\\memory_wrapper.py"],
"env": {
"MCP_MEMORY_STORAGE_BACKEND": "sqlite_vec",
"MCP_MEMORY_SQLITE_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\mcp-memory\\sqlite_vec.db",
"MCP_MEMORY_BACKUPS_PATH": "C:\\Users\\YourUsername\\AppData\\Local\\mcp-memory\\backups"
}
}
}
β‘οΈ Multi-Client Setup Guide for Claude Desktop + VS Code + other MCP clients
Environment Variables
Core Configuration
# Storage Backend
MCP_MEMORY_STORAGE_BACKEND=sqlite_vec # sqlite_vec (default) or chromadb
MCP_MEMORY_SQLITE_PATH=/path/to/database.db # SQLite database location
MCP_MEMORY_BACKUPS_PATH=/path/to/backups # Backup directory
# Performance & Hardware
MCP_MEMORY_BATCH_SIZE=32 # Processing batch size
MCP_MEMORY_MODEL_NAME=all-MiniLM-L6-v2 # Embedding model
PYTORCH_ENABLE_MPS_FALLBACK=1 # Apple Silicon fallback
MCP_MEMORY_USE_ONNX=0 # CPU-only mode
LOG_LEVEL=INFO # Logging level
HTTP API & Remote Access
# Server Configuration
MCP_HTTP_ENABLED=true # Enable HTTP server
MCP_HTTP_HOST=0.0.0.0 # Bind to all interfaces
MCP_HTTP_PORT=8000 # Server port
# Security
MCP_API_KEY="your-secure-api-key" # API authentication
MCP_HTTPS_ENABLED=true # Enable SSL/TLS
MCP_HTTPS_PORT=8443 # HTTPS port
Advanced Configuration
SSL/TLS Setup
For production deployments with HTTPS:
# Enable HTTPS with custom certificates
export MCP_HTTPS_ENABLED=true
export MCP_SSL_CERT_FILE="/path/to/certificate.pem"
export MCP_SSL_KEY_FILE="/path/to/private-key.pem"
# Generate secure API key
export MCP_API_KEY="$(openssl rand -base64 32)"
Local Development with mkcert:
# Install mkcert for trusted local certificates
brew install mkcert # macOS
sudo apt install mkcert # Linux
# Generate local certificates
mkcert -install
mkcert localhost 127.0.0.1 your-domain.local
Memory Consolidation
# Enable autonomous memory consolidation
MCP_CONSOLIDATION_ENABLED=true
MCP_CONSOLIDATION_ARCHIVE_PATH=/path/to/archive
# Retention periods (days)
MCP_RETENTION_CRITICAL=365
MCP_RETENTION_REFERENCE=180
MCP_RETENTION_STANDARD=30
MCP_RETENTION_TEMPORARY=7
π Multi-Client Deployment
NEW: Deploy MCP Memory Service for multiple clients sharing the same memory database!
π Centralized Server Deployment (Recommended)
Perfect for distributed teams, multiple devices, or cloud deployment:
# Install and start HTTP/SSE server
python install.py --server-mode --enable-http-api
export MCP_HTTP_HOST=0.0.0.0 # Allow external connections
export MCP_API_KEY="your-secure-key" # Optional authentication
python scripts/run_http_server.py
β Benefits:
- π Real-time sync across all clients via Server-Sent Events (SSE)
- π Cross-platform - works from any device with HTTP access
- π Secure with optional API key authentication
- π Scalable - handles many concurrent clients
- βοΈ Cloud-ready - deploy on AWS, DigitalOcean, Docker, etc.
Access via:
- API Docs:
http://your-server:8000/api/docs
- Web Dashboard:
http://your-server:8000/
- REST API: All MCP operations available via HTTP
β οΈ Why NOT Cloud Storage (Dropbox/OneDrive/Google Drive)
Direct SQLite on cloud storage DOES NOT WORK for multi-client access:
β File locking conflicts - Cloud sync breaks SQLite's locking mechanism
β Data corruption - Incomplete syncs can corrupt the database
β Sync conflicts - Multiple clients create "conflicted copy" files
β Performance issues - Full database re-upload on every change
β Solution: Use centralized HTTP server deployment instead!
π Local Multi-Client Coordination
For local development with multiple MCP clients (Claude Desktop + VS Code + Continue, etc.):
The MCP Memory Service features universal multi-client coordination for seamless concurrent access:
π Integrated Setup (Recommended):
python install.py # Automatically detects and configures all MCP clients
Key Benefits:
- β Automatic Coordination: Intelligent detection of optimal access mode
- β Universal Setup: Works with any MCP-compatible application
- β Shared Memory: All clients access the same memory database
- β No Lock Conflicts: WAL mode prevents database locking issues
- β IDE-Agnostic: Switch between development tools while maintaining context
Supported Clients: Claude Desktop, Claude Code, VS Code, Continue IDE, Cursor, Cline, Zed, and more
π Complete Documentation
For detailed deployment guides, configuration options, and troubleshooting:
π
Covers:
- Centralized HTTP/SSE Server setup and configuration
- Shared File Access for local networks (limited scenarios)
- Cloud Platform Deployment (AWS, DigitalOcean, Docker)
- Security & Authentication setup
- Performance Tuning for high-load environments
- Troubleshooting common multi-client issues
Usage Guide
For detailed instructions on how to interact with the memory service in Claude Desktop:
- - Learn the specific keywords and phrases that trigger memory operations in Claude
- - Detailed setup instructions
- - Real-world development session showcasing advanced features
The memory service is invoked through natural language commands in your conversations with Claude. For example:
- To store: "Please remember that my project deadline is May 15th."
- To retrieve: "Do you remember what I told you about my project deadline?"
Claude Code Commands Usage
With the optional Claude Code commands installed, you can also use direct command syntax:
# Store information with context
claude /memory-store "Important architectural decision about database backend"
# Recall memories by time
claude /memory-recall "what did we decide about the database last week?"
# Search by tags or content
claude /memory-search --tags "architecture,database"
# Capture current session context
claude /memory-context --summary "Development planning session"
# Check service health
claude /memory-health
- To delete: "Please forget what I told you about my address."
See the for a complete list of commands and detailed usage examples.
Storage Backends
The MCP Memory Service supports multiple storage backends to suit different use cases:
SQLite-vec (Default - Recommended)
- Best for: All use cases - from personal to production deployments
- Features: Single-file database, 75% lower memory usage, zero network dependencies
- Memory usage: Minimal (~50MB for 1K memories)
- Setup: Automatically configured, works offline immediately
ChromaDB (Legacy - Deprecated)
β οΈ DEPRECATED: Will be removed in v6.0.0. Please migrate to SQLite-vec.
- Previous use cases: Large memory collections, advanced vector metrics
- Issues: Network dependencies, Hugging Face download failures, high resource usage
- Memory usage: Higher (~200MB for 1K memories)
- Migration: Run
python scripts/migrate_to_sqlite_vec.py
to migrate your data
Quick Setup for SQLite-vec
# Install sqlite-vec (if using installation script, this is handled automatically)
pip install sqlite-vec
# Configure the backend
export MCP_MEMORY_STORAGE_BACKEND=sqlite_vec
export MCP_MEMORY_SQLITE_PATH=/path/to/sqlite_vec.db
# Optional: For CPU-only mode without PyTorch (much lighter resource usage)
export MCP_MEMORY_USE_ONNX=1
# Restart Claude Desktop
SQLite-vec with Optional PyTorch
The SQLite-vec backend now works with or without PyTorch installed:
- With PyTorch: Full functionality including embedding generation
- Without PyTorch: Basic functionality using pre-computed embeddings and ONNX runtime
- With Homebrew PyTorch: Integration with macOS Homebrew PyTorch installation
To install optional machine learning dependencies:
# Add ML dependencies for embedding generation
pip install 'mcp-memory-service[ml]'
Homebrew PyTorch Integration
For macOS users who prefer to use Homebrew's PyTorch installation:
# Install PyTorch via Homebrew
brew install pytorch
# Run MCP Memory Service with Homebrew PyTorch integration
./run_with_homebrew.sh
This integration offers several benefits:
- Uses Homebrew's isolated Python environment for PyTorch
- Avoids dependency conflicts with Claude Desktop
- Reduces memory usage in the main process
- Provides better stability in resource-constrained environments
For detailed documentation on the Homebrew PyTorch integration:
- - Technical journey and solution architecture
Migration Between Backends
# Migrate from ChromaDB to SQLite-vec
python migrate_to_sqlite_vec.py
# Full migration with backup
python scripts/migrate_storage.py \
--from chroma --to sqlite_vec \
--backup --backup-path backup.json
For detailed SQLite-vec setup, migration, and troubleshooting, see the .
Memory Operations
The memory service provides the following operations through the MCP server:
Core Memory Operations
store_memory
- Store new information with optional tagsretrieve_memory
- Perform semantic search for relevant memoriesrecall_memory
- Retrieve memories using natural language time expressionssearch_by_tag
- Find memories using specific tagsexact_match_retrieve
- Find memories with exact content matchdebug_retrieve
- Retrieve memories with similarity scores
Database Management
create_backup
- Create database backupget_stats
- Get memory statisticsoptimize_db
- Optimize database performancecheck_database_health
- Get database health metricscheck_embedding_model
- Verify model status
Memory Management
delete_memory
- Delete specific memory by hashdelete_by_tag
- Enhanced: Delete memories with specific tag(s) - supports both single tags and multiple tagsdelete_by_tags
- New: Explicitly delete memories containing any of the specified tags (OR logic)delete_by_all_tags
- New: Delete memories containing all specified tags (AND logic)cleanup_duplicates
- Remove duplicate entries
API Consistency Improvements
Issue 5 Resolution: Enhanced tag deletion functionality for consistent API design.
- Before:
search_by_tag
accepted arrays,delete_by_tag
only accepted single strings - After: Both operations now support flexible tag handling
// Single tag deletion (backward compatible)
delete_by_tag("temporary")
// Multiple tag deletion (new!)
delete_by_tag(["temporary", "outdated", "test"]) // OR logic
// Explicit methods for clarity
delete_by_tags(["tag1", "tag2"]) // OR logic
delete_by_all_tags(["urgent", "important"]) // AND logic
Example Usage
// Store memories with tags
store_memory("Project deadline is May 15th", {tags: ["work", "deadlines", "important"]})
store_memory("Grocery list: milk, eggs, bread", {tags: ["personal", "shopping"]})
store_memory("Meeting notes from sprint planning", {tags: ["work", "meetings", "important"]})
// Search by multiple tags (existing functionality)
search_by_tag(["work", "important"]) // Returns memories with either tag
// Enhanced deletion options (new!)
delete_by_tag("temporary") // Delete single tag (backward compatible)
delete_by_tag(["temporary", "outdated"]) // Delete memories with any of these tags
delete_by_tags(["personal", "shopping"]) // Explicit multi-tag deletion
delete_by_all_tags(["work", "important"]) // Delete only memories with BOTH tags
π§ Dream-Inspired Memory Consolidation
The memory consolidation system operates autonomously in the background, inspired by how human memory works during sleep cycles. It automatically organizes, compresses, and manages your memories across multiple time horizons.
Quick Start
Enable consolidation with a single environment variable:
export MCP_CONSOLIDATION_ENABLED=true
How It Works
- Daily consolidation (light processing): Updates memory relevance and basic organization
- Weekly consolidation: Discovers creative associations between memories
- Monthly consolidation: Performs semantic clustering and intelligent compression
- Quarterly/Yearly consolidation: Deep archival and long-term memory management
New MCP Tools Available
Once enabled, you get access to powerful new consolidation tools:
consolidate_memories
- Manually trigger consolidation for any time horizonget_consolidation_health
- Monitor system health and performanceget_consolidation_stats
- View processing statistics and insightsschedule_consolidation
- Configure autonomous schedulingget_memory_associations
- Explore discovered memory connectionsget_memory_clusters
- Browse semantic memory clustersget_consolidation_recommendations
- Get AI-powered memory management advice
Advanced Configuration
Fine-tune the consolidation system through environment variables:
# Archive location (default: ~/.mcp_memory_archive)
export MCP_CONSOLIDATION_ARCHIVE_PATH=/path/to/archive
# Retention periods (days)
export MCP_RETENTION_CRITICAL=365 # Critical memories
export MCP_RETENTION_REFERENCE=180 # Reference materials
export MCP_RETENTION_STANDARD=30 # Standard memories
export MCP_RETENTION_TEMPORARY=7 # Temporary memories
# Association discovery settings
export MCP_ASSOCIATION_MIN_SIMILARITY=0.3 # Sweet spot range
export MCP_ASSOCIATION_MAX_SIMILARITY=0.7 # for creative connections
# Autonomous scheduling (cron-style)
export MCP_SCHEDULE_DAILY="02:00" # 2 AM daily
export MCP_SCHEDULE_WEEKLY="SUN 03:00" # 3 AM on Sundays
export MCP_SCHEDULE_MONTHLY="01 04:00" # 4 AM on 1st of month
Performance
- Designed to process 10k+ memories efficiently
- Automatic hardware optimization (CPU/GPU/MPS)
- Safe archival system - no data is ever permanently deleted
- Full recovery capabilities for all archived memories
π Service Installation (NEW!)
Install MCP Memory Service as a native system service for automatic startup:
Cross-Platform Service Installer
# Install as a service (auto-detects OS)
python install_service.py
# Start the service
python install_service.py --start
# Check service status
python install_service.py --status
# Stop the service
python install_service.py --stop
# Uninstall the service
python install_service.py --uninstall
The installer provides:
- β Automatic OS detection (Windows, macOS, Linux)
- β Native service integration (systemd, LaunchAgent, Windows Service)
- β Automatic startup on boot/login
- β Service management commands
- β Secure API key generation
- β Platform-specific optimizations
For detailed instructions, see the .
Hardware Compatibility
Platform | Architecture | Accelerator | Status | Notes |
---|---|---|---|---|
macOS | Apple Silicon (M1/M2/M3) | MPS | β Fully supported | Best performance |
macOS | Apple Silicon under Rosetta 2 | CPU | β Supported with fallbacks | Good performance |
macOS | Intel | CPU | β Fully supported | Good with optimized settings |
Windows | x86_64 | CUDA | β Fully supported | Best performance |
Windows | x86_64 | DirectML | β Supported | Good performance |
Windows | x86_64 | CPU | β Supported with fallbacks | Slower but works |
Linux | x86_64 | CUDA | β Fully supported | Best performance |
Linux | x86_64 | ROCm | β Supported | Good performance |
Linux | x86_64 | CPU | β Supported with fallbacks | Slower but works |
Linux | ARM64 | CPU | β Supported with fallbacks | Slower but works |
Any | Any | No PyTorch | β Supported with SQLite-vec | Limited functionality, very lightweight |
Testing
# Install test dependencies
pip install pytest pytest-asyncio
# Run all tests
pytest tests/
# Run specific test categories
pytest tests/test_memory_ops.py
pytest tests/test_semantic_search.py
pytest tests/test_database.py
# Verify environment compatibility
python scripts/verify_environment_enhanced.py
# Verify PyTorch installation on Windows
python scripts/verify_pytorch_windows.py
# Perform comprehensive installation verification
python scripts/test_installation.py
FAQ
Can I use MCP Memory Service with multiple AI clients simultaneously?
Yes! The service features universal multi-client coordination for seamless concurrent access across Claude Desktop, VS Code, Continue, Cursor, and other MCP clients. See the Local Multi-Client Coordination section for details.
What's the difference between SQLite-vec and ChromaDB backends?
SQLite-vec (recommended): 10x faster startup, zero network dependencies, 75% less memory usage, single-file database
ChromaDB (deprecated): Legacy support only, requires network access for models, will be removed in v6.0.0
β‘οΈ Detailed Backend Comparison
How do I migrate from ChromaDB to SQLite-vec?
Run the migration script to safely transfer your existing memories:
python scripts/migrate_to_sqlite_vec.py
The process preserves all memories, tags, and metadata while improving performance.
Can I deploy MCP Memory Service on a remote server?
Yes! The service supports production deployment with HTTP/HTTPS server, API authentication, SSL certificates, and Docker containers. Perfect for teams and cross-device access.
β‘οΈ Remote Server Deployment
Why does my installation fail on Apple Silicon Macs?
Use the intelligent installer which handles Apple Silicon optimizations automatically:
python install.py
It detects MPS support, configures fallbacks, and selects compatible PyTorch versions.
How much memory and storage does the service use?
SQLite-vec: ~50MB RAM for 1K memories, single database file
ChromaDB: ~200MB RAM for 1K memories, multiple files
Storage scales linearly: ~1MB per 1000 memories with SQLite-vec.
Is my data secure and private?
Yes! All data is stored locally by default. For remote deployments, the service supports API key authentication, HTTPS encryption, and runs in user-space (not as root) for security.
Troubleshooting
See the and for detailed troubleshooting steps.
Quick Troubleshooting Tips
- Windows PyTorch errors: Use
python scripts/install_windows.py
- macOS Intel dependency conflicts: Use
python install.py --force-compatible-deps
- Recursion errors: Run
python scripts/fix_sitecustomize.py
- Environment verification: Run
python scripts/verify_environment_enhanced.py
- Memory issues: Set
MCP_MEMORY_BATCH_SIZE=4
and try a smaller model - Apple Silicon: Ensure Python 3.10+ built for ARM64, set
PYTORCH_ENABLE_MPS_FALLBACK=1
- Installation testing: Run
python scripts/test_installation.py
π Comprehensive Documentation
Installation & Setup
- - Complete installation guide with hardware-specific paths
- β NEW - Comprehensive CLI options including multi-client setup
- β NEW - Integrated setup for any MCP application
- - Detailed comparison and selection guide
- - ChromaDB to SQLite-vec migration instructions
Platform-Specific Guides
- - Comprehensive guide for Intel Mac users
- - Optimized for 2015 MacBook Pro and older Intel Macs
- - Windows-specific installation and troubleshooting
- - Linux server installation guide
API & Integration
- - New web interface documentation
- - Configuration examples
- - Third-party tools and extensions
Advanced Topics
- β NEW - Technical implementation details
- - Using system PyTorch
- - Container-based deployment
- - Tuning for different hardware
Troubleshooting & Support
- - Common issues and solutions
- - Compatibility matrix and known issues
Quick Commands
# Get personalized setup recommendations
python install.py --help-detailed
# Generate hardware-specific setup guide
python install.py --generate-docs
# Test your installation
python scripts/test_memory_simple.py
Project Structure
mcp-memory-service/
βββ src/mcp_memory_service/ # Core package code
β βββ __init__.py
β βββ config.py # Configuration utilities
β βββ models/ # Data models
β βββ storage/ # Storage implementations
β βββ utils/ # Utility functions
β βββ server.py # Main MCP server
βββ scripts/ # Helper scripts
βββ memory_wrapper.py # Windows wrapper script
βββ install.py # Enhanced installation script
βββ tests/ # Test suite
Development Guidelines
- Python 3.10+ with type hints
- Use dataclasses for models
- Triple-quoted docstrings for modules and functions
- Async/await pattern for all I/O operations
- Follow PEP 8 style guidelines
- Include tests for new features
Git Setup for Contributors
After cloning the repository, run the setup script to configure automated uv.lock
conflict resolution:
./scripts/setup-git-merge-drivers.sh
This enables automatic resolution of uv.lock
merge conflicts by:
- Using the incoming version to resolve conflicts
- Automatically running
uv sync
to regenerate the lock file - Ensuring consistent dependency resolution across all environments
The setup is required only once per clone and benefits all contributors by eliminating manual conflict resolution.
License
MIT License - See LICENSE file for details
Acknowledgments
- ChromaDB team for the vector database
- Sentence Transformers project for embedding models
- MCP project for the protocol specification
π― Why Sponsor MCP Memory Service?
π In Production
- Deployed on Glama.ai
- Managing 300+ enterprise memories
- Processing queries in <1 second
Production Impact
- 319+ memories actively managed
- 828ms average query response time
- 100% cache hit ratio performance
- 20MB efficient vector storage
Developer Community
- Complete MCP protocol implementation
- Cross-platform compatibility
- React dashboard with real-time statistics
- Comprehensive documentation
Enterprise Features
- Semantic search with sentence-transformers
- Tag-based categorization system
- Automatic backup and optimization
- Health monitoring dashboard
Contact
Integrations
The MCP Memory Service can be extended with various tools and utilities. See for a list of available options, including:
- MCP Memory Dashboard - Web UI for browsing and managing memories
- Claude Memory Context - Inject memory context into Claude project instructions