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.
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:


Find a position in a PGN for game analysis:

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".