other

Chess

by jiayao

Play chess on line with a visual interface, analyze games from PGN, and challenge language models. Enjoy a top chess com

Enables playing chess against language models through a visual interface with tools for board visualization, move execution, game initialization, and position analysis from PGN notation.

github stars

19

Visual board display with auto-flip orientationStandard chess notation supportPGN position search functionality

best for

  • / Playing chess against AI assistants
  • / Chess training and analysis
  • / Educational chess demonstrations
  • / Game position analysis from PGN files

capabilities

  • / Display chess board as visual image
  • / Make moves using standard chess notation
  • / Start new chess games
  • / Get list of valid legal moves
  • / Find specific positions in PGN files
  • / Check whose turn it is

what it does

Lets you play chess games against language models with visual board display. Provides move validation, game management, and PGN analysis capabilities.

about

Chess is a community-built MCP server published by jiayao that provides AI assistants with tools and capabilities via the Model Context Protocol. Play chess on line with a visual interface, analyze games from PGN, and challenge language models. Enjoy a top chess com It is categorized under other.

how to install

You can install Chess in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

Apache-2.0

Chess is released under the Apache-2.0 license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

MCP Chess Server

This MCP let's you play chess against any LLM.

Installation

To use this chess server, add the following configuration to your MCP config:

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

Usage

Play a game: Chess starting position with black pieces

A few moves later

Find a position in a PGN for game analysis:

Find a position in a PGN

Available Tools

The server provides the following tools:

  • get_board_visualization(): Provides the current state of the chessboard as an image. The board orientation automatically flips based on the user's assigned color.
  • get_turn(): Indicates whose turn it is ('white' or 'black').
  • get_valid_moves(): Lists all legal moves for the current player in UCI notation (e.g., 'e2e4', 'g1f3'). Returns an empty list if the game is over.
  • make_move(move_san: str): Makes a move on the board using Standard Algebraic Notation (SAN) (e.g., 'e4', 'Nf3', 'Bxe5'). Returns the move in SAN and UCI, the new board FEN, and game status.
  • new_game(user_plays_white: bool = True): Starts a new game, resetting the board. By default, the user plays white. Sets the user's color for board orientation. Returns a confirmation message.
  • find_position_in_pgn(pgn_string: str, condition: str): Finds the first board position in a PGN string matching a condition (e.g., "bishop on a3") and returns an image of that board state. The condition format is "piece_type on square_name". Valid piece types are "pawn", "knight", "bishop", "rook", "queen", "king".