Skip to main content
Glama

MCP Memory Service

first-time-setup.md7.53 kB
# First-Time Setup Guide This guide explains what to expect when running MCP Memory Service for the first time. ## 🎯 What to Expect on First Run When you start the MCP Memory Service for the first time, you'll see several warnings and messages. **This is completely normal behavior** as the service initializes and downloads necessary components. ## 📋 Normal First-Time Warnings ### 1. Snapshots Directory Warning ``` WARNING:mcp_memory_service.storage.sqlite_vec:Failed to load from cache: No snapshots directory ``` **What it means:** - The service is checking for previously downloaded embedding models - On first run, no cache exists yet, so this warning appears - The service will automatically download the model **This is normal:** ✅ Expected on first run ### 2. TRANSFORMERS_CACHE Warning ``` WARNING: Using TRANSFORMERS_CACHE is deprecated ``` **What it means:** - This is an informational warning from the Hugging Face library - It doesn't affect the service functionality - The service handles caching internally **This is normal:** ✅ Can be safely ignored ### 3. Model Download Progress ``` Downloading model 'all-MiniLM-L6-v2'... ``` **What it means:** - The service is downloading the embedding model (approximately 25MB) - This happens only once on first setup - Download time: 1-2 minutes on average internet connection **This is normal:** ✅ One-time download ## 🚦 Success Indicators After successful first-time setup, you should see: ``` INFO: SQLite-vec storage initialized successfully with embedding dimension: 384 INFO: Memory service started on port 8443 INFO: Ready to accept connections ``` ## 📊 First-Time Setup Timeline | Step | Duration | What's Happening | |------|----------|-----------------| | 1. Service Start | Instant | Loading configuration | | 2. Cache Check | 1-2 seconds | Checking for existing models | | 3. Model Download | 1-2 minutes | Downloading embedding model (~25MB) | | 4. Model Loading | 5-10 seconds | Loading model into memory | | 5. Database Init | 2-3 seconds | Creating database structure | | 6. Ready | - | Service is ready to use | **Total first-time setup:** 2-3 minutes ## 🔄 Subsequent Runs After the first successful run: - No download warnings will appear - Model loads from cache (5-10 seconds) - Service starts much faster (10-15 seconds total) ## 🐍 Python 3.13 Compatibility ### Known Issues Python 3.13 users may encounter installation issues with **sqlite-vec** due to missing pre-built wheels. The installer now includes automatic fallback methods: 1. **Automatic Retry Logic**: Tries multiple installation strategies 2. **Source Building**: Attempts to build from source if wheels unavailable 3. **GitHub Installation**: Falls back to installing directly from repository 4. **Backend Switching**: Option to switch to ChromaDB if sqlite-vec fails ### Recommended Solutions If you encounter sqlite-vec installation failures on Python 3.13: **Option 1: Use Python 3.12 (Recommended)** ```bash # macOS brew install python@3.12 python3.12 -m venv .venv source .venv/bin/activate python install.py # Ubuntu/Linux sudo apt install python3.12 python3.12-venv python3.12 -m venv .venv source .venv/bin/activate python install.py ``` **Option 2: Use ChromaDB Backend** ```bash python install.py --storage-backend chromadb ``` **Option 3: Manual sqlite-vec Installation** ```bash # Try building from source pip install --no-binary :all: sqlite-vec # Or install from GitHub pip install git+https://github.com/asg017/sqlite-vec.git#subdirectory=python ``` ## 🍎 macOS SQLite Extension Issues ### Problem: `AttributeError: 'sqlite3.Connection' object has no attribute 'enable_load_extension'` This error occurs on **macOS with system Python** because it's not compiled with SQLite extension support. **Why this happens:** - macOS system Python lacks `--enable-loadable-sqlite-extensions` - The bundled SQLite library doesn't support loadable extensions - This is a security-focused default configuration **Solutions:** **Option 1: Homebrew Python (Recommended)** ```bash # Install Python via Homebrew (includes extension support) brew install python hash -r # Refresh command cache python3 --version # Verify you're using Homebrew Python # Then install MCP Memory Service python3 install.py ``` **Option 2: pyenv with Extension Support** ```bash # Install pyenv if not already installed brew install pyenv # Install Python with extension support PYTHON_CONFIGURE_OPTS="--enable-loadable-sqlite-extensions" pyenv install 3.12.0 pyenv local 3.12.0 # Verify extension support python3 -c "import sqlite3; conn=sqlite3.connect(':memory:'); conn.enable_load_extension(True); print('Extensions supported!')" ``` **Option 3: Use ChromaDB Backend** ```bash # ChromaDB doesn't require SQLite extensions python3 install.py --storage-backend chromadb ``` ### Verification Check if your Python supports extensions: ```bash python3 -c " import sqlite3 conn = sqlite3.connect(':memory:') print('✅ Extension support available' if hasattr(conn, 'enable_load_extension') else '❌ No extension support') " ``` ## 🐧 Ubuntu/Linux Specific Notes For Ubuntu 24 and other Linux distributions: ### Prerequisites ```bash # System dependencies sudo apt update sudo apt install python3.10 python3.10-venv python3.10-dev python3-pip sudo apt install build-essential libblas3 liblapack3 liblapack-dev libblas-dev gfortran ``` ### Recommended Setup ```bash # Create virtual environment python3 -m venv venv source venv/bin/activate # Install the service python install.py # Start the service uv run memory server ``` ## 🔧 Troubleshooting First-Time Issues ### Issue: Download Fails **Solution:** - Check internet connection - Verify firewall/proxy settings - Clear cache and retry: `rm -rf ~/.cache/huggingface` ### Issue: "No module named 'sentence_transformers'" **Solution:** ```bash pip install sentence-transformers torch ``` ### Issue: Permission Denied **Solution:** ```bash # Fix permissions chmod +x scripts/*.sh sudo chown -R $USER:$USER ~/.mcp_memory_service/ ``` ### Issue: Service Doesn't Start After Download **Solution:** 1. Check logs: `uv run memory server --debug` 2. Verify installation: `python scripts/verify_environment.py` 3. Restart with clean state: ```bash rm -rf ~/.mcp_memory_service uv run memory server ``` ## ✅ Verification To verify successful setup: ```bash # Check service health curl -k https://localhost:8443/api/health # Or using the CLI uv run memory health ``` Expected response: ```json { "status": "healthy", "storage_backend": "sqlite_vec", "model_loaded": true } ``` ## 🎉 Setup Complete! Once you see the success indicators and the warnings have disappeared on subsequent runs, your MCP Memory Service is fully operational and ready to use! ### Next Steps: - [Configure Claude Desktop](../README.md#claude-desktop-integration) - [Store your first memory](../README.md#basic-usage) - [Explore the API](https://github.com/doobidoo/mcp-memory-service/wiki) ## 📝 Notes - The model download is a one-time operation - Downloaded models are cached in `~/.cache/huggingface/` - The service creates a database in `~/.mcp_memory_service/` - All warnings shown during first-time setup are expected behavior - If you see different errors (not warnings), check the [Troubleshooting Guide](troubleshooting/general.md) --- Remember: **First-time warnings are normal!** The service is working correctly and setting itself up for optimal performance.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/doobidoo/mcp-memory-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server