chess-mcp is a Model Context Protocol (MCP) server for accessing Chess.com's Published Data API. It provides access to Chess.com player data, game records, and other public information through a standardized MCP interface, enabling AI assistants to search and analyze chess information.
Key capabilities include: accessing player profiles, statistics, and game records; searching games by date and player; checking player online status; and retrieving club and titled player information. The project requires no authentication (it uses Chess.com's public API), supports Docker containerization, and provides interactive tools for AI assistants. The tool list is configurable, allowing users to choose which tools to expose to the MCP client.
Usage: Running chess-mcp with Docker and using it with Claude Desktop is recommended. If Docker is not installed, it can be obtained from the official Docker website. Edit the Claude Desktop configuration file: on Mac the path is ~/Library/Application Support/Claude/claude_desktop_config.json; on Windows the path is %APPDATA%/Claude/claude_desktop_config.json; on Linux the path is ~/.config/Claude/claude_desktop_config.json. Then add the corresponding configuration. You can also run the server directly with UV by editing the Claude Desktop configuration file at the above locations and adding the server configuration. Note: if you see Error: spawn uv ENOENT in Claude Desktop, you may need to specify the full path to uv, or set the environment variable NO_UV=1 in the configuration.
The project uses uv to manage dependencies. Install uv according to your platform's instructions, then create a virtual environment and install the dependencies. The project includes a test suite to ensure functionality works correctly and to prevent regressions; tests can be run with pytest.
Available tools include: get_player_profile (retrieves a player's Chess.com profile), get_player_stats (retrieves player statistics), is_player_online (checks whether a player is currently online), get_titled_players (retrieves the list of titled players), get_player_current_games (retrieves a player's ongoing games), get_player_games_by_month (retrieves a player's games for a specified month), get_player_game_archives (retrieves the list of a player's available monthly game archives), download_player_games_pgn (downloads the PGN file of all games for a specified month), get_club_profile (retrieves Chess.com club information), get_club_members (retrieves club members).
Use cases: providing AI assistants with chess data query and analysis capabilities, such as querying player profiles, statistics, game history, online status, club information, and more. Regarding limitations, the material does not provide further details on rate limits, data scope, or error handling.