Get the FREE Ultimate OpenClaw Setup Guide →

chess-support

An MCP server that manages the state of a chess game for LLMs/agents. It intentionally does not suggest moves.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio danilop-chess-support-mcp uvx --from git+https://github.com/danilop/chess-support-mcp.git chess-support-mcp

How to use

Chess Support MCP Server provides a single in-memory chess game controller designed for use by language models and agents. It exposes tools to create or reset a game, add moves in UCI format, list and inspect moves, and query the current board and game state. Notably, it does not suggest moves; instead, it focuses on managing the game state and exposing a machine-friendly representation of the board and status so agents can reason about the position, legality of moves, and game outcome. Key methods include get_status (which returns a machine-friendly pieces map, FEN-related status like whose turn it is, and check/game-over information), add_move (to apply a legal UCI move), is_legal (to test a move without applying it), and various move-list utilities like list_moves and last_moves.

How to install

Prerequisites:

  • Python 3.13+ installed on your system
  • uv package manager installed (e.g., via pipx or pip)

Install uvx/uv (if needed) and clone or run directly from the GitHub repository using uvx as described in the MCP readme:

  1. Install Python 3.13+ (from python.org or your OS package manager).

  2. Install uv/uvx if you haven’t already. The repo assumes uvx is available to fetch from GitHub. Example (via Python's pipx):

    pipx install uvx

  3. Run the MCP server directly from GitHub without cloning (as described in the README):

    uvx --from git+https://github.com/danilop/chess-support-mcp.git chess-support-mcp

  4. Alternatively, use uv to run a local project if you have a copy of the repository:

    uv run chess-support-mcp

Prerequisites summary: Python 3.13+, uv/uvx installed, network access to fetch from GitHub. Ensure your environment can access GitHub to fetch the package for the first run.

Additional notes

Notes and tips:

  • The server maintains a single in-memory game; restart will reset the game state.
  • Moves are always provided in UCI format (e2e4, g1f3, e7e8q, etc.). Do not include side information; the server infers the side to move from the current position.
  • Use get_status to obtain a machine-friendly representation of the board (pieces map) and game state, including whose turn it is, whether the game is over, and the result if applicable.
  • For debugging or human readability, you can also use board_ascii or last_moves_detailed to audit moves with ply and SAN representations.
  • If add_move returns accepted: false, the status will reflect the unchanged position and you may receive a reason such as illegal or parse_error.
  • Tests can be run with uv run pytest -q as documented in the repo.
  • If you plan to deploy, consider environment variables for logging, timeouts, or API access controls as needed by your hosting environment.

Related MCP Servers

Sponsor this space

Reach thousands of developers