Chess.com MCP Server
Provides access to Chess.com player profiles, stats, game records, archives, clubs, and titled players, enabling AI assistants to search and analyze chess information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chess.com MCP ServerWhat are Magnus Carlsen's current stats on Chess.com?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
https://github.com/user-attachments/assets/3b33361b-b604-465c-9f6a-3699b6907757
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.
Related MCP server: Chess.com MCP Server
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.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.jsonLinux:
~/.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 ENOENTin Claude Desktop, you may need to specify the full path touvor set the environment variableNO_UV=1in the configuration.
Remote deployment (streamable HTTP + OAuth)
main.py only speaks stdio/SSE. serve_http.py serves the same tools over streamable HTTP so the server can be added as a remote connector (e.g. claude.ai), protected by OAuth. Tokens are issued by an external authorization server (Keycloak here) and only validated by this server: signature via JWKS, issuer, audience and allowed client.
Install (mcp<2 is required: mcp 2.x removed FastMCP, and uv.lock is out of date):
uv venv --python 3.12 .venv
uv pip install --python .venv/bin/python -c constraints.txt -e . "pyjwt[crypto]>=2.8"
.venv/bin/python serve_http.pyA systemd unit is in deploy/chess-mcp.service.
Variable | Default | Purpose |
|
| Listen address |
|
| Accepted |
|
| Public MCP URL, expected token audience |
|
| Expected token issuer |
|
| Where signing keys are fetched |
|
| Accepted |
Keycloak setup: a confidential client with redirect URIs https://claude.ai/api/mcp/auth_callback and https://claude.com/api/mcp/auth_callback, PKCE S256, and an audience mapper adding MCP_RESOURCE_URL to access tokens. claude.ai requests every scope the realm advertises, so assign the realm's client scopes to that client (as optional) or login fails with invalid_scope. In claude.ai choose "use your own OAuth client" and enter the client ID and secret.
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 | shYou 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-missingAvailable Tools
Player Information
get_player_profile- Get a player's profile from Chess.comget_player_stats- Get a player's stats from Chess.comis_player_online- Check if a player is currently online on Chess.comget_titled_players- Get a list of titled players from Chess.com
Games
get_player_current_games- Get a player's ongoing games on Chess.comget_player_games_by_month- Get a player's games for a specific month from Chess.comget_player_game_archives- Get a list of available monthly game archives for a player on Chess.comdownload_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.comget_club_members- Get members of a club on Chess.com
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Chess.com MCP — wraps the Chess.com public API (free, no auth)
Lichess MCP — public read-only API for users, games, explorer, tablebase.
Chess MCP for Claude: engine analysis, attack maps, game review. One URL, no install.
Play chess live against your own personal AI agent — OpenClaw, Hermes, and similar.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides Chess.com player data integration, enabling AI assistants to fetch real-time chess player profiles and comprehensive statistics including ratings, game counts, and performance metrics from Chess.com's public API.2MIT
- FlicenseBqualityDmaintenanceProvides tools to interact with the Chess.com Public API for fetching real-time player profiles and detailed game statistics. It enables LLMs to access information like player ratings, win/loss records, and current online status.2-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to explore player profiles, ratings, game archives, leaderboards, clubs, and puzzles via the Chess.com API.1MIT
- -licenseNot gradedqualityNot gradedmaintenanceProvides access to Chess.com's public API, allowing AI assistants to fetch player information and statistics.-