Skip to main content
Glama

MCP Memory Service

test-docker-modes.sh2.97 kB
#!/bin/bash # Test script to verify both Docker modes work correctly set -e echo "===================================" echo "Docker Setup Test Script" echo "===================================" # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Function to print colored output print_status() { if [ $1 -eq 0 ]; then echo -e "${GREEN}✓${NC} $2" else echo -e "${RED}✗${NC} $2" return 1 fi } # Change to docker directory cd "$(dirname "$0")" echo "" echo "1. Building Docker image..." docker-compose build --quiet print_status $? "Docker image built successfully" echo "" echo "2. Testing MCP Protocol Mode..." echo " Starting container in MCP mode..." docker-compose up -d sleep 5 # Check if container is running docker-compose ps | grep -q "Up" print_status $? "MCP mode container is running" # Check logs for correct mode docker-compose logs 2>&1 | grep -q "Running in mcp mode" print_status $? "Container started in MCP mode" # Stop MCP mode docker-compose down echo "" echo "3. Testing HTTP API Mode..." echo " Starting container in HTTP mode..." docker-compose -f docker-compose.http.yml up -d sleep 10 # Check if container is running docker-compose -f docker-compose.http.yml ps | grep -q "Up" print_status $? "HTTP mode container is running" # Check logs for Uvicorn docker-compose -f docker-compose.http.yml logs 2>&1 | grep -q "Uvicorn\|FastAPI\|HTTP" print_status $? "HTTP server started (Uvicorn/FastAPI)" # Test health endpoint HTTP_RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/api/health 2>/dev/null || echo "000") if [ "$HTTP_RESPONSE" = "200" ]; then print_status 0 "Health endpoint responding (HTTP $HTTP_RESPONSE)" else print_status 1 "Health endpoint not responding (HTTP $HTTP_RESPONSE)" fi # Test with API key API_TEST=$(curl -s -X POST http://localhost:8000/api/memories \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-secure-api-key-here" \ -d '{"content": "Docker test memory", "tags": ["test"]}' 2>/dev/null | grep -q "success\|unauthorized" && echo "ok" || echo "fail") if [ "$API_TEST" = "ok" ]; then print_status 0 "API endpoint accessible" else print_status 1 "API endpoint not accessible" fi # Stop HTTP mode docker-compose -f docker-compose.http.yml down echo "" echo "===================================" echo "Test Summary:" echo "===================================" echo -e "${GREEN}✓${NC} All critical fixes from Joe applied:" echo " - PYTHONPATH=/app/src" echo " - run_server.py copied" echo " - Embedding models pre-downloaded" echo "" echo -e "${GREEN}✓${NC} Simplified Docker structure:" echo " - Unified entrypoint for both modes" echo " - Clear MCP vs HTTP separation" echo " - Single Dockerfile for all modes" echo "" echo -e "${YELLOW}Note:${NC} Deprecated files marked in DEPRECATED.md" echo "" echo "Docker setup is ready for use!"

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