Chess.com MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A [Model Context Protocol][mcp] (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
[mcp]: https://modelcontextprotocol.io/introduction/introduction
Features
- [x] Access player profiles, stats, and game records
- [x] Search games by date and player
- [x] Check player online status
- [x] Get information about clubs and titled players
- [x] No authentication required (uses Chess.com's public API)
- [x] Docker containerization support
- [x] 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:
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:
> 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:
You can then create a virtual environment and install the dependencies with:
Testing
The project includes a test suite that ensures functionality and helps prevent regressions.
Run the tests with pytest:
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