Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

chess-mcp

MCP.Pizza Chef: pab1it0

chess-mcp is a Model Context Protocol server that exposes Chess.com's public data API, enabling AI assistants to retrieve player profiles, game records, club info, and online status without authentication. It supports configurable tools and Docker deployment, facilitating seamless integration of chess data into AI workflows for analysis and search.

Use This MCP server To

Retrieve Chess.com player profiles and statistics Search chess games by player and date Check online status of Chess.com players Access information about chess clubs and titled players Integrate Chess.com data into AI assistant workflows Enable AI to analyze historical chess games Provide real-time chess player data to applications Deploy easily with Docker for scalable chess data access

README

Chess.com MCP Server

A Model Context Protocol (MCP) server for Chess.com's Published Data API.

This provides access to Chess.com player data, game records, and other public information through standardized MCP interfaces, allowing AI assistants to search and analyze chess information.

chess-mcp.mp4

Features

  • Access player profiles, stats, and game records
  • Search games by date and player
  • Check player online status
  • Get information about clubs and titled players
  • No authentication required (uses Chess.com's public API)
  • Docker containerization support
  • Provide interactive tools for AI assistants

The list of tools is configurable, so you can choose which tools you want to make available to the MCP client.

Usage

Docker (Recommended)

The easiest way to run chess-mcp with Claude Desktop is using Docker. If you don't have Docker installed, you can get it from Docker's official website.

Edit your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Then add the following configuration:

{
  "mcpServers": {
    "chess": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "pab1it0/chess-mcp"
      ]
    }
  }
}

Running with UV

Alternatively, you can run the server directly using UV. Edit your Claude Desktop config file (locations listed above) and add the server configuration:

{
  "mcpServers": {
    "chess": {
      "command": "uv",
      "args": [
        "--directory",
        "<full path to chess-mcp directory>",
        "run",
        "src/chess_mcp/main.py"
      ]
    }
  }
}

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.

Development

Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.

This project uses uv to manage dependencies. Install uv following the instructions for your platform:

curl -LsSf https://astral.sh/uv/install.sh | sh

You can then create a virtual environment and install the dependencies with:

uv venv
source .venv/bin/activate  # On Unix/macOS
.venv\Scripts\activate     # On Windows
uv pip install -e .

Testing

The project includes a test suite that ensures functionality and helps prevent regressions.

Run the tests with pytest:

# Install development dependencies
uv pip install -e ".[dev]"

# Run the tests
pytest

# Run with coverage report
pytest --cov=src --cov-report=term-missing

Available Tools

Player Information

  • get_player_profile - Get a player's profile from Chess.com
  • get_player_stats - Get a player's stats from Chess.com
  • is_player_online - Check if a player is currently online on Chess.com
  • get_titled_players - Get a list of titled players from Chess.com

Games

  • get_player_current_games - Get a player's ongoing games on Chess.com
  • get_player_games_by_month - Get a player's games for a specific month from Chess.com
  • get_player_game_archives - Get a list of available monthly game archives for a player on Chess.com
  • download_player_games_pgn - Download PGN files for all games in a specific month from Chess.com

Clubs

  • get_club_profile - Get information about a club on Chess.com
  • get_club_members - Get members of a club on Chess.com

License

MIT


chess-mcp FAQ

How does chess-mcp access Chess.com data?
It uses Chess.com's public Published Data API without requiring authentication.
Can I customize which tools chess-mcp exposes?
Yes, the list of tools is configurable to fit your needs.
Is chess-mcp easy to deploy?
Yes, it supports Docker containerization for simple and scalable deployment.
Does chess-mcp provide real-time player status?
Yes, it can check and provide online status of Chess.com players.
What kind of chess data can I retrieve?
Player profiles, game records, club info, and titled player details are available.
Can AI assistants use chess-mcp to analyze games?
Yes, it enables AI to search and analyze chess games and player data.
Is authentication required to use chess-mcp?
No, it leverages Chess.com's public API which does not require authentication.
What AI models can work with chess-mcp?
It is provider-agnostic and works with models like OpenAI, Claude, and Gemini.