MCP Memory Service
Features
- Semantic search using sentence transformers
- Natural language time-based recall (e.g., "last week", "yesterday morning")
- Tag-based memory retrieval system
- Persistent storage using ChromaDB
- Automatic database backups
- Memory optimization tools
- Exact match retrieval
- Debug mode for similarity analysis
- Database health monitoring
- Duplicate detection and cleanup
- Customizable embedding model
- Cross-platform compatibility (Apple Silicon, Intel, Windows, Linux)
- Hardware-aware optimizations for different environments
- Graceful fallbacks for limited hardware resources
Quick Start
Docker and Smithery Integration
Docker Usage
- Open Docker Desktop
- Go to Settings (Preferences)
- Navigate to Resources -> File Sharing
- Add any additional paths you need to share
- Click "Apply & Restart"
Smithery Integration
smithery.yaml
. This configuration enables stdio-based communication with MCP clients like Claude Desktop.- Ensure your
claude_desktop_config.json
points to the correct paths:
- The
smithery.yaml
configuration handles stdio communication and environment setup automatically.
Testing with Claude Desktop
- Build the Docker image with
docker build -t mcp-memory-service .
- Create the necessary directories for persistent storage:
- Update your Claude Desktop configuration file:
- Restart Claude Desktop
- When Claude starts up, you should see the memory service initialize with a message:
- Test the memory feature:
- Check the Claude Desktop console for error messages
- Verify Docker has the necessary permissions to access the mounted directories
- Ensure the Docker container is running with the correct parameters
- Try running the container manually to see any error output
- Installation Guide - Comprehensive installation instructions for all platforms
- Troubleshooting Guide - Solutions for common issues
- Technical Documentation - Detailed technical procedures and specifications
- Scripts Documentation - Overview of available scripts and their usage
VPS Deployment Requirements
Minimum System Requirements
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
Key Considerations for VPS Deployment
Memory Usage Breakdown
- Sentence Transformer Model: ~400-600 MB (depends on model)
- ChromaDB: ~200-500 MB (depends on database size)
- Python Runtime + Dependencies: ~200-300 MB
- Working Memory for Embeddings: ~100-500 MB (depends on batch size)
Storage Requirements
- ChromaDB: Starts at ~100 MB, grows ~1 MB per 100 memories
- Backups: Plan for 2-3x the DB size for rotation
- Code + Dependencies: ~300-500 MB
- OS + Other: Variable based on your setup
Recommended Docker Deployment for VPS
- Limits the container to 4GB RAM and 2 CPUs
- Uses a balanced model for good performance/resource usage
- Mounts persistent volumes for data storage
- Automatically restarts the service if it crashes or on system reboot
Optimizations for Low-Resource VPS Environments
- Use a smaller embedding model:
- Reduce batch size:
- Enable CPU optimization:
Configuration
Standard Configuration (Recommended)
claude_desktop_config.json
file to use UV (recommended for best performance):Windows-Specific Configuration (Recommended)
- Check if PyTorch is installed and properly configured
- Install PyTorch with the correct index URL if needed
- Run the memory server with the appropriate configuration
Hardware Compatibility
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
** Note for macOS 15 (Sequoia) users**: If you're using macOS 15 with Apple Silicon and encounter PyTorch package installation errors when using UV, you might need to:This issue happens because PyTorch wheels for macOS 15 on arm64 are still being updated. See issue #29 for more details.
Memory Operations
Core Memory Operations
store_memory
- Store new information with optional tags
retrieve_memory
- Perform semantic search for relevant memories
recall_memory
- Retrieve memories using natural language time expressions
search_by_tag
- Find memories using specific tags
exact_match_retrieve
- Find memories with exact content match
debug_retrieve
- Retrieve memories with similarity scores
Database Management
create_backup
- Create database backup
get_stats
- Get memory statistics
optimize_db
- Optimize database performance
check_database_health
- Get database health metrics
check_embedding_model
- Verify model status
Memory Management
delete_memory
- Delete specific memory by hash
delete_by_tag
- Delete all memories with specific tag
cleanup_duplicates
- Remove duplicate entries
Configuration Options
Getting Help
- Check our Troubleshooting Guide
- Review the Installation Guide
- For Windows-specific issues, see our Windows Setup Guide
- Contact the developer via Telegram: t.me/doobeedoo
Project Structure
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
License
Acknowledgments
- ChromaDB team for the vector database
- Sentence Transformers project for embedding models
- MCP project for the protocol specification
Contact
Cloudflare Worker Implementation
- Uses Cloudflare D1 for storage (serverless SQLite)
- Uses Workers AI for embeddings generation
- Communicates via Server-Sent Events (SSE) for MCP protocol
- Requires no local installation or dependencies
- Scales automatically with usage
Benefits of the Cloudflare Implementation
- Zero local installation: No Python, dependencies, or local storage needed
- Cross-platform compatibility: Works on any device that can connect to the internet
- Automatic scaling: Handles multiple users without configuration
- Global distribution: Low latency access from anywhere
- No maintenance: Updates and maintenance handled automatically
Available Tools in the Cloudflare Implementation
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
Configuring Claude to Use the Cloudflare Memory Service
your-worker-subdomain
with your actual Cloudflare Worker subdomain.Deploying Your Own Cloudflare Memory Service
- Clone the repository and navigate to the Cloudflare Worker directory:
- Install Wrangler (Cloudflare's CLI tool):
- Login to your Cloudflare account:
- Create a D1 database:
- Update the
wrangler.toml
file with your database ID from the previous step.
- Initialize the database schema:Where
schema.sql
contains:
- Deploy the worker:
- Update your Claude configuration to use your new worker URL.
Testing Your Cloudflare Memory Service
- List available tools:
- Store a memory:
- Retrieve memories:
Limitations
- Free tier limits on Cloudflare Workers and D1 may apply
- Workers AI embedding models may differ slightly from the local sentence-transformers models
- No direct access to the underlying database for manual operations
- Cloudflare Workers have a maximum execution time of 30 seconds on free plans
MCP Memory Service
Features
- Semantic search using sentence transformers
- Natural language time-based recall (e.g., "last week", "yesterday morning")
- Tag-based memory retrieval system
- Persistent storage using ChromaDB
- Automatic database backups
- Memory optimization tools
- Exact match retrieval
- Debug mode for similarity analysis
- Database health monitoring
- Duplicate detection and cleanup
- Customizable embedding model
- Cross-platform compatibility (Apple Silicon, Intel, Windows, Linux)
- Hardware-aware optimizations for different environments
- Graceful fallbacks for limited hardware resources
Quick Start
Docker and Smithery Integration
Docker Usage
- Open Docker Desktop
- Go to Settings (Preferences)
- Navigate to Resources -> File Sharing
- Add any additional paths you need to share
- Click "Apply & Restart"
Smithery Integration
smithery.yaml
. This configuration enables stdio-based communication with MCP clients like Claude Desktop.- Ensure your
claude_desktop_config.json
points to the correct paths:
- The
smithery.yaml
configuration handles stdio communication and environment setup automatically.
Testing with Claude Desktop
- Build the Docker image with
docker build -t mcp-memory-service .
- Create the necessary directories for persistent storage:
- Update your Claude Desktop configuration file:
- Restart Claude Desktop
- When Claude starts up, you should see the memory service initialize with a message:
- Test the memory feature:
- Check the Claude Desktop console for error messages
- Verify Docker has the necessary permissions to access the mounted directories
- Ensure the Docker container is running with the correct parameters
- Try running the container manually to see any error output
- Installation Guide - Comprehensive installation instructions for all platforms
- Troubleshooting Guide - Solutions for common issues
- Technical Documentation - Detailed technical procedures and specifications
- Scripts Documentation - Overview of available scripts and their usage
VPS Deployment Requirements
Minimum System Requirements
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
Key Considerations for VPS Deployment
Memory Usage Breakdown
- Sentence Transformer Model: ~400-600 MB (depends on model)
- ChromaDB: ~200-500 MB (depends on database size)
- Python Runtime + Dependencies: ~200-300 MB
- Working Memory for Embeddings: ~100-500 MB (depends on batch size)
Storage Requirements
- ChromaDB: Starts at ~100 MB, grows ~1 MB per 100 memories
- Backups: Plan for 2-3x the DB size for rotation
- Code + Dependencies: ~300-500 MB
- OS + Other: Variable based on your setup
Recommended Docker Deployment for VPS
- Limits the container to 4GB RAM and 2 CPUs
- Uses a balanced model for good performance/resource usage
- Mounts persistent volumes for data storage
- Automatically restarts the service if it crashes or on system reboot
Optimizations for Low-Resource VPS Environments
- Use a smaller embedding model:
- Reduce batch size:
- Enable CPU optimization:
Configuration
Standard Configuration (Recommended)
claude_desktop_config.json
file to use UV (recommended for best performance):Windows-Specific Configuration (Recommended)
- Check if PyTorch is installed and properly configured
- Install PyTorch with the correct index URL if needed
- Run the memory server with the appropriate configuration
Hardware Compatibility
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] | [object Object] |
** Note for macOS 15 (Sequoia) users**: If you're using macOS 15 with Apple Silicon and encounter PyTorch package installation errors when using UV, you might need to:This issue happens because PyTorch wheels for macOS 15 on arm64 are still being updated. See issue #29 for more details.
Memory Operations
Core Memory Operations
store_memory
- Store new information with optional tags
retrieve_memory
- Perform semantic search for relevant memories
recall_memory
- Retrieve memories using natural language time expressions
search_by_tag
- Find memories using specific tags
exact_match_retrieve
- Find memories with exact content match
debug_retrieve
- Retrieve memories with similarity scores
Database Management
create_backup
- Create database backup
get_stats
- Get memory statistics
optimize_db
- Optimize database performance
check_database_health
- Get database health metrics
check_embedding_model
- Verify model status
Memory Management
delete_memory
- Delete specific memory by hash
delete_by_tag
- Delete all memories with specific tag
cleanup_duplicates
- Remove duplicate entries
Configuration Options
Getting Help
- Check our Troubleshooting Guide
- Review the Installation Guide
- For Windows-specific issues, see our Windows Setup Guide
- Contact the developer via Telegram: t.me/doobeedoo
Project Structure
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
License
Acknowledgments
- ChromaDB team for the vector database
- Sentence Transformers project for embedding models
- MCP project for the protocol specification
Contact
Cloudflare Worker Implementation
- Uses Cloudflare D1 for storage (serverless SQLite)
- Uses Workers AI for embeddings generation
- Communicates via Server-Sent Events (SSE) for MCP protocol
- Requires no local installation or dependencies
- Scales automatically with usage
Benefits of the Cloudflare Implementation
- Zero local installation: No Python, dependencies, or local storage needed
- Cross-platform compatibility: Works on any device that can connect to the internet
- Automatic scaling: Handles multiple users without configuration
- Global distribution: Low latency access from anywhere
- No maintenance: Updates and maintenance handled automatically
Available Tools in the Cloudflare Implementation
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
[object Object] | [object Object] |
Configuring Claude to Use the Cloudflare Memory Service
your-worker-subdomain
with your actual Cloudflare Worker subdomain.Deploying Your Own Cloudflare Memory Service
- Clone the repository and navigate to the Cloudflare Worker directory:
- Install Wrangler (Cloudflare's CLI tool):
- Login to your Cloudflare account:
- Create a D1 database:
- Update the
wrangler.toml
file with your database ID from the previous step.
- Initialize the database schema:Where
schema.sql
contains:
- Deploy the worker:
- Update your Claude configuration to use your new worker URL.
Testing Your Cloudflare Memory Service
- List available tools:
- Store a memory:
- Retrieve memories:
Limitations
- Free tier limits on Cloudflare Workers and D1 may apply
- Workers AI embedding models may differ slightly from the local sentence-transformers models
- No direct access to the underlying database for manual operations
- Cloudflare Workers have a maximum execution time of 30 seconds on free plans