Claude MCP Data Explorer

by tofunori
Verified
#!/usr/bin/env python import asyncio import os import sys import logging from datetime import datetime from claude_mcp_data_explorer.server import create_server # Configure logging log_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "logs") os.makedirs(log_dir, exist_ok=True) log_file = os.path.join(log_dir, f"server_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log") logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler(log_file), logging.StreamHandler() ] ) async def main(): # Set binary mode for stdin/stdout on Windows if sys.platform == 'win32': import msvcrt msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) logging.info("Starting Claude MCP Data Explorer Server") # Create and run the server server = create_server() await server.start() if __name__ == "__main__": try: asyncio.run(main()) except Exception as e: logging.error(f"Server error: {e}", exc_info=True) sys.exit(1)