Skip to main content
Glama

MCP Memory Service

#!/usr/bin/env python3 """ Simple standalone test for sqlite-vec functionality. """ import asyncio import os import tempfile import sys import sqlite3 async def test_sqlite_vec_basic(): """Test basic sqlite-vec functionality.""" print("🔧 Testing basic SQLite-vec functionality...") print("=" * 50) try: # Test sqlite-vec import print("1. Testing sqlite-vec import...") import sqlite_vec from sqlite_vec import serialize_float32 print(" ✅ sqlite-vec imported successfully") # Test basic database operations print("\n2. Testing database creation...") temp_dir = tempfile.mkdtemp() db_path = os.path.join(temp_dir, "test.db") conn = sqlite3.connect(db_path) conn.enable_load_extension(True) sqlite_vec.load(conn) print(" ✅ Database created and sqlite-vec loaded") # Create test table print("\n3. Creating test table...") conn.execute(''' CREATE TABLE test_vectors ( id INTEGER PRIMARY KEY, content TEXT, embedding BLOB ) ''') print(" ✅ Test table created") # Test vector operations print("\n4. Testing vector operations...") test_vector = [0.1, 0.2, 0.3, 0.4, 0.5] serialized = serialize_float32(test_vector) conn.execute(''' INSERT INTO test_vectors (content, embedding) VALUES (?, ?) ''', ("Test content", serialized)) conn.commit() print(" ✅ Vector stored successfully") # Test retrieval print("\n5. Testing retrieval...") cursor = conn.execute(''' SELECT content, embedding FROM test_vectors WHERE id = 1 ''') row = cursor.fetchone() if row: content, stored_embedding = row print(f" Retrieved content: {content}") print(" ✅ Retrieval successful") # Cleanup conn.close() os.remove(db_path) os.rmdir(temp_dir) print("\n✅ Basic sqlite-vec test passed!") print("\n🚀 SQLite-vec is working correctly on your Ubuntu system!") return True except Exception as e: print(f" ❌ Test failed: {e}") import traceback traceback.print_exc() return False async def show_next_steps(): """Show next steps for integration.""" print("\n" + "=" * 60) print("🎯 Next Steps for Claude Code + VS Code Integration") print("=" * 60) print("\n1. 📦 Complete MCP Memory Service Setup:") print(" # Stay in your virtual environment") print(" source venv/bin/activate") print() print(" # Set the backend") print(" export MCP_MEMORY_STORAGE_BACKEND=sqlite_vec") print() print(" # Install remaining MCP dependencies") print(" pip install mcp") print("\n2. 🔧 Configure Claude Code Integration:") print(" The sqlite-vec backend is now ready!") print(" Your memory database will be stored at:") home = os.path.expanduser("~") print(f" {home}/.local/share/mcp-memory/sqlite_vec.db") print("\n3. 💻 For VS Code Integration:") print(" # Install VS Code MCP extension (if available)") print(" # Or use Claude Code directly in VS Code terminal") print("\n4. 🧪 Test the Setup:") print(" # Test that MCP Memory Service works with sqlite-vec") print(" python -c \"") print(" import os") print(" os.environ['MCP_MEMORY_STORAGE_BACKEND'] = 'sqlite_vec'") print(" # Your memory operations will now use sqlite-vec!") print(" \"") print("\n5. 🔄 Migration (if you have existing ChromaDB data):") print(" python migrate_to_sqlite_vec.py") print("\n✨ Benefits of SQLite-vec:") print(" • 75% less memory usage") print(" • Single file database (easy backup)") print(" • Faster startup times") print(" • Better for <100K memories") async def main(): """Main test function.""" success = await test_sqlite_vec_basic() if success: await show_next_steps() return 0 else: print("\n❌ sqlite-vec test failed. Please install sqlite-vec:") print(" pip install sqlite-vec") return 1 if __name__ == "__main__": sys.exit(asyncio.run(main()))

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