Skip to main content
Glama
pab1it0

Chess.com MCP Server

main.py2.04 kB
#!/usr/bin/env python """Main entry point for the Chess.com MCP Server.""" import logging import sys from typing import Literal import structlog from dotenv import load_dotenv from chess_mcp.server import mcp logger = structlog.get_logger(__name__) def setup_environment() -> bool: """ Set up the environment for the server. Returns: True if setup was successful, False otherwise """ try: load_dotenv() structlog.configure( processors=[ structlog.contextvars.merge_contextvars, structlog.processors.add_log_level, structlog.processors.StackInfoRenderer(), structlog.dev.set_exc_info, structlog.processors.TimeStamper(fmt="iso"), structlog.dev.ConsoleRenderer(), ], wrapper_class=structlog.make_filtering_bound_logger(logging.INFO), context_class=dict, logger_factory=structlog.PrintLoggerFactory(), cache_logger_on_first_use=False, ) logger.info("Chess.com MCP Server starting") return True except Exception as e: logger.error("Failed to setup environment", error=str(e), error_type=type(e).__name__) return False def run_server(transport: Literal["stdio", "sse"] = "stdio") -> None: """ Main entry point for the Chess.com MCP Server. Args: transport: The transport protocol to use (stdio or sse) """ if not setup_environment(): logger.error("Environment setup failed, exiting") sys.exit(1) try: logger.info("Starting MCP server", transport=transport) mcp.run(transport=transport) except KeyboardInterrupt: logger.info("Server stopped by user") except Exception as e: logger.error( "Server error", error=str(e), error_type=type(e).__name__, exc_info=True ) sys.exit(1) if __name__ == "__main__": run_server()

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/pab1it0/chess-mcp'

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