get_player_profileLABSCO SUMMARY
Chess research stops being a browser-tab exercise.
Point it at a username and the whole public trail comes back as data: rating history, the month-by-month archive, and the games themselves. That last part is what matters — PGN is the format engines and databases already eat, so analysis starts where the lookup used to end.
What it is
A read layer over Chess.com's Published Data API — the same public profiles, ratings, game archives and club pages the site shows, reachable as tool calls. It runs locally over stdio, and the tool list is configurable, so you can expose only the ones you want.
What you get
- A player's profile, and their rating and record across every time control
- The months a player has games in, and every game played in a month you name
- Games downloaded as PGN, ready for an engine or a database
- The games a player has running right now
- Whether a player is online at this moment
- A club's profile and its member list
- Every player holding a given title
Requirements
Docker or uv to launch it, and network access — every answer is a live call to Chess.com. No account and no key: it reads the public part of the site.
Setup effort
One command — docker run --rm -i pab1it0/chess-mcp
USE CASES
Preparing for an opponent you are about to play
Give it the username. The profile and stats say what they rate and at which time controls, the archive says which months they have been active, and the games for those months come back as PGN you can push through an engine.
Seeing how a player's results moved over a season
Pull the months one at a time and read the results in order, instead of scrolling a game log. The current stats give you the standing to measure that against.
Checking whether someone is around for a game
Ask whether the account is online and what it already has running. Two calls answer whether a challenge is worth sending now.
Scouting a club before you join it
Read the club's profile for what it is and how it runs, then the member list to see who is actually in it.
Building a study set of titled players
List everyone at a title, then walk the ones you care about into their archives and pull their games down as PGN.
10 tools
Listed in project docs. Your client may show a different list.
get_player_statsis_player_onlineget_titled_playersget_player_current_gamesget_player_games_by_monthget_player_game_archivesdownload_player_games_pgnget_club_profileget_club_membersBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation. All ten only read public Chess.com data; nothing plays, challenges or messages. The Docker image is pab1it0/chess-mcp in the documentation's Docker block but ghcr.io/pab1it0/chess-mcp:0.1.0 in server.json.
Requires
docker on PATH
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
docker run --rm -i pab1it0/chess-mcpMCP Clients
Claude Desktop — Docker
{
"mcpServers": {
"chess": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"pab1it0/chess-mcp"
]
}
}
}Claude Desktop — uv
{
"mcpServers": {
"chess": {
"command": "uv",
"args": [
"--directory",
"<YOUR_FULL_PATH_TO_CHESS_MCP>",
"run",
"src/chess_mcp/main.py"
]
}
}
}