Back to MCP Directory
Chess
Model Context Protocol low risk

Chess

This MCP server enables playing chess against an LLM, providing tools to manage games, analyze positions, and visualize the board.

Connections & Capabilities

Connects To

GitHubTwitter

Capabilities

readwrite

Quickstart

Config

{
  "mcpServers": {
    "chess": {
      "command": "uvx",
      "args": [
        "mcp-chess"
      ]
    }
  }
}

Exposed MCP Tools (6)

safe
get_board_visualization()

Provides an image of the current chessboard state.

Read-only operation with no side effects.

safe
get_turn()

Returns whose turn it is to move.

Read-only operation.

safe
get_valid_moves()

Lists all legal moves for the current player.

Read-only operation.

moderate
make_move(move_san: str)

Makes a move on the board using Standard Algebraic Notation.

Modifies the game state, but is constrained by chess rules.

moderate
new_game(user_plays_white: bool = True)

Starts a new chess game, resetting the board.

Resets the game state.

moderate
find_position_in_pgn(pgn_string: str, condition: str)

Finds a board position in a PGN matching a given condition.

Reads and processes a PGN string, but doesn't modify any system files.

Safety Assessment

This server is relatively safe for general use. The primary risk lies in potential resource exhaustion of the LLM or unexpected behavior due to invalid moves. Exercise caution when providing PGN strings to `find_position_in_pgn`.

  • Read-only access to board state via visualization.
  • No external network access beyond the LLM interaction.
  • Game state is isolated to the current session.
  • Limited write operations confined to making chess moves.
  • Potential for denial-of-service if the LLM is overloaded.
  • Improper move validation could lead to unexpected states.
  • Reliance on LLM for move generation introduces unpredictability.
  • No explicit input sanitization on PGN strings for `find_position_in_pgn`.