Skip to main content
Glama

MCP Memory Service

#!/usr/bin/env python3 # Copyright 2024 Heinrich Krupp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """ Complete test suite for the HTTP/SSE + SQLite-vec implementation. Runs all tests in sequence to validate the entire system. """ import subprocess import sys import time import requests from pathlib import Path def check_server_health(): """Check if the server is running and healthy.""" try: response = requests.get("http://localhost:8000/api/health", timeout=5) return response.status_code == 200 except: return False def run_test_script(script_name, description): """Run a test script and return success status.""" print(f"\n{'='*60}") print(f"🧪 {description}") print('='*60) try: # Run the test script result = subprocess.run([ sys.executable, str(Path(__file__).parent / script_name) ], capture_output=True, text=True, timeout=60) if result.returncode == 0: print("✅ Test PASSED") if result.stdout: print("Output:", result.stdout[-500:]) # Last 500 chars return True else: print("❌ Test FAILED") print("Error:", result.stderr) return False except subprocess.TimeoutExpired: print("⏰ Test TIMED OUT") return False except Exception as e: print(f"❌ Test ERROR: {e}") return False def main(): """Run the complete test suite.""" print("🚀 MCP Memory Service - Complete Test Suite") print("=" * 60) # Check if server is running if not check_server_health(): print("❌ Server is not running or not healthy!") print("💡 Please start the server first:") print(" python scripts/run_http_server.py") return 1 print("✅ Server is healthy and ready for testing") # Test suite configuration tests = [ ("test_memory_simple.py", "Memory CRUD Operations Test"), ("test_search_api.py", "Search API Functionality Test"), ("test_sse_events.py", "Real-time SSE Events Test"), ] results = [] # Run each test for script, description in tests: success = run_test_script(script, description) results.append((description, success)) if success: print(f"✅ {description} - PASSED") else: print(f"❌ {description} - FAILED") # Brief pause between tests time.sleep(2) # Summary print(f"\n{'='*60}") print("📊 TEST SUMMARY") print('='*60) passed = sum(1 for _, success in results if success) total = len(results) for description, success in results: status = "✅ PASS" if success else "❌ FAIL" print(f"{status} {description}") print(f"\nResults: {passed}/{total} tests passed") if passed == total: print("\n🎉 ALL TESTS PASSED! System is working perfectly!") return 0 else: print(f"\n⚠️ {total - passed} tests failed. Check the logs above.") return 1 if __name__ == "__main__": sys.exit(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