Chess.com MCP Server

io.github.udarrrPublished by GitHub account udarrrv0.8.8Updated Oct 25, 2026

MCP server for Chess.com player profiles, games, stats, puzzles, clubs, and tournaments

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

A local MCP server that gives an assistant read-only access to Chess.com public data: player profiles, games, stats, puzzles, clubs and tournaments.

What you can do
Look up player profiles, stats, online status, titled players and leaderboards, and list a player's clubs, matches and tournaments. Retrieve current, live, to-move and monthly games, and download a player's games as PGN. Browse club profiles, members and matches, plus tournament rounds and groups. Inspect team matches and live team match boards. Fetch country profiles with their players and clubs, the daily or a random puzzle, and streamer listings. Expose player, titled-player and club data as chess:// resources.
When to use it
Useful when you want an assistant to answer questions about Chess.com players, games or results, analyze a player's recent games, or follow clubs, tournaments and team matches without leaving the chat.
Requirements
Local process run with npx from the npm package chess-mcp-node, so Node.js 20.9 or newer is needed. No authentication, API key or environment variable is required. Network access to the Chess.com public API is needed; optional settings cover an SSE transport port and an API base URL override.
Before you install
All tools read public Chess.com data; none of the listed tools change anything on the account. Requests go to Chess.com's public API, so the usernames and queries you ask about are sent to that third party. The optional SSE transport listens on a local port, which should not be exposed publicly.

Installation

In SourceWeft

  1. Open Chess.com MCP Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Chess.com MCP Server

A Model Context Protocol server written in TypeScript for Chess.com's public API. It exposes the complete documented Chess.com PubAPI through 30 tools and seven resources without authentication.

Install from npm

Requirements: Node.js 20.9 or newer.

Run the latest published package directly:

bash
npx -y chess-mcp-node@latest

The default transport is stdio. The package is distributed through npm and can also be installed from the VS Code MCP gallery after its registry metadata is published.

For VS Code, create or open .vscode/mcp.json in your workspace:

json
{  "servers": {    "chess": {      "command": "npx",      "args": ["-y", "chess-mcp-node@latest"]    }  }}

After publication, search for @mcp chess in VS Code and select Install to add the server from the MCP gallery.

For Claude Desktop, add the server to its MCP configuration:

json
{  "mcpServers": {    "chess": {      "command": "npx",      "args": ["-y", "chess-mcp-node@latest"]    }  }}

Run from source

Requirements: Node.js 20.9 or newer.

bash
npm cinpm run buildnpm start

The default source-run transport is stdio. To run the optional SSE transport:

bash
# macOS/LinuxMCP_TRANSPORT=sse npm start
powershell
# Windows PowerShell$env:MCP_TRANSPORT = "sse"npm start

The SSE server listens on port 8000 by default and provides /sse, /messages, and /health. Set PORT and HOST to override those defaults.

Set CHESS_API_BASE_URL to override the Chess.com API base URL for development or testing.

Development

Run the test suite and type checker:

bash
npm testnpm run typecheck

Create a coverage report with:

bash
npm run test:coverage

Available tools

  • get_player_profile
  • get_titled_players
  • get_player_stats
  • is_player_online
  • get_player_current_games
  • get_player_games_to_move
  • get_player_game_archives
  • get_player_games_by_month
  • get_player_live_games
  • download_player_games_pgn
  • get_player_clubs
  • get_player_matches
  • get_player_tournaments
  • get_club_profile
  • get_club_members
  • get_club_matches
  • get_tournament
  • get_tournament_round
  • get_tournament_round_group
  • get_team_match
  • get_team_match_board
  • get_live_team_match
  • get_live_team_match_board
  • get_country_profile
  • get_country_players
  • get_country_clubs
  • get_daily_puzzle
  • get_random_puzzle
  • get_streamers
  • get_leaderboards

Available resources

  • chess://player/{username}
  • chess://player/{username}/stats
  • chess://player/{username}/games/current
  • chess://player/{username}/games/{year}/{month}
  • chess://player/{username}/games/{year}/{month}/pgn
  • chess://titled/{title}
  • chess://club/{url_id}

License

MIT

Source: README.md at commit ff972bf

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.8.8LatestSep 22, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts