home / mcp / chess uci mcp server
Bridges to a UCI chess engine, enabling position analysis and best-move queries via MCP.
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.
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.
Prerequisites you need before installing the bridge:
Python 3.10 or newer
A runtime for MCP execution (uvx or uv) installed
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"]
}
}
}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"
]
}
}
}Analyze a chess position given a FEN string and return evaluation and possible lines.
Query the engine for the best move for the current position.
Set the current chess position in the engine based on FEN or internal representation.
Retrieve information about the connected engine, such as available options and version.