home / mcp / chess uci mcp server

Chess UCI MCP Server

Bridges to a UCI chess engine, enabling position analysis and best-move queries via MCP.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "anglerfishchess-chess-uci-mcp": {
      "command": "uvx",
      "args": [
        "chess-uci-mcp@latest",
        "/usr/local/bin/stockfish"
      ]
    }
  }
}

You can connect to an external UCI chess engine (like Stockfish) from your environment using the chess-uci-mcp bridge. This MCP server lets you issue chess queries and get engine responses through a simple, configurable interface, enabling you to analyze positions, request best moves, and manage engine state from your MCP client.

How to use

Use your MCP client to send analysis, best-move, or position commands to the chess-uci-mcp bridge. You specify the engine path and, if needed, UCI options like thread count or hash size. Run the bridge through a local MCP runtime in either an automatic virtual environment or a local runtime, then connect to it from your client and send FENs or position descriptors to receive moves or analysis.

How to install

Prerequisites you need before installing the bridge:

Python 3.10 or newer

A runtime for MCP execution (uvx or uv) installed

Install and run with uvx (recommended)

Use uvx to automatically create a virtual environment and run the chess-uci-mcp bridge with the engine path you provide.

{
  "mcpServers": {
    "chess-uci-mcp": {
      "command": "uvx",
      "args": ["chess-uci-mcp@latest", "/usr/local/bin/stockfish"]
    }
  }
}

Pass engine options with uvx

If you want to set engine options like number of threads or hash size, add them to the args array.

{
  "mcpServers": {
    "chess-uci-mcp": {
      "command": "uvx",
      "args": [
        "chess-uci-mcp@latest",
        "/usr/local/bin/stockfish",
        "-o", "Threads", "4",
        "-o", "Hash", "128"
      ]
    }
  }
}

Available tools

analyze

Analyze a chess position given a FEN string and return evaluation and possible lines.

get_best_move

Query the engine for the best move for the current position.

set_position

Set the current chess position in the engine based on FEN or internal representation.

engine_info

Retrieve information about the connected engine, such as available options and version.

Chess UCI MCP Server - anglerfishchess/chess-uci-mcp