Skip to main content
Glama
run_http_server.py2.52 kB
#!/usr/bin/env python3 """ Startup script for MCP Personal Assistant HTTP Server Runs the enhanced cloud-native HTTP MCP server with intelligent retrieval, multi-tenancy, and vector search capabilities. """ import asyncio import os import sys import logging from pathlib import Path # Add src directory to Python path src_path = Path(__file__).parent / "src" sys.path.insert(0, str(src_path)) from src.http_server import PersonalAssistantHTTPServer from src.http_config import Config def setup_logging(): """Setup logging configuration""" log_level = os.getenv("LOG_LEVEL", "INFO") logging.basicConfig( level=getattr(logging, log_level), format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", handlers=[ logging.StreamHandler(sys.stdout), logging.FileHandler("mcp_http_server.log") ] ) async def main(): """Main entry point""" setup_logging() logger = logging.getLogger(__name__) logger.info("Starting MCP Personal Assistant HTTP Server...") # Determine environment and create appropriate config environment = os.getenv("ENVIRONMENT", "development") if environment == "production": config = Config.for_production() logger.info("Running in PRODUCTION mode") else: config = Config.for_development() logger.info("Running in DEVELOPMENT mode") logger.info(f"Configuration: DB={config.database_type}, Auth={config.auth.enabled}, VectorSearch={config.vector_search.enabled}") # Create and run server try: server = PersonalAssistantHTTPServer(config) logger.info(f"Server starting on {config.server.host}:{config.server.port}") logger.info("Available endpoints:") logger.info(" GET /health - Health check") logger.info(" POST /mcp/initialize - Initialize MCP session") logger.info(" POST /mcp/tools/list - List available tools") logger.info(" POST /mcp/tools/call - Call MCP tools") logger.info(" GET /docs - API documentation (development only)") server.run(host=config.server.host, port=config.server.port) except Exception as e: logger.error(f"Failed to start server: {e}") raise if __name__ == "__main__": try: asyncio.run(main()) except KeyboardInterrupt: print("\nShutting down server...") except Exception as e: print(f"Server startup failed: {e}") sys.exit(1)

Latest Blog Posts

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/swapnilsurdi/mcp-pa'

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