Lumichess
Chess tools: game reviews for Chess.com and Lichess, FIDE ratings, openings, positions, puzzles.
Description from the maker (original English)
Analyze chess positions and get best moves from UCI engines such as Stockfish or Leela
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"chess-uci": {
"command": "uvx",
"args": [
"chess-uci-mcp",
"/usr/local/bin/stockfish",
"--think-time",
"1000"
]
}
}
}Run this in your terminal
claude mcp add chess-uci -- uvx chess-uci-mcp /usr/local/bin/stockfish --think-time 1000Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"chess-uci": {
"command": "uvx",
"args": [
"chess-uci-mcp",
"/usr/local/bin/stockfish",
"--think-time",
"1000"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"chess-uci": {
"type": "stdio",
"command": "uvx",
"args": [
"chess-uci-mcp",
"/usr/local/bin/stockfish",
"--think-time",
"1000"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
The registry name was verified with the GitHub account AnglerfishChess, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.1) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Lumichess, KILN, SEGAN
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Chess tools: game reviews for Chess.com and Lichess, FIDE ratings, openings, positions, puzzles.
Smooth stylised 3D game models written as text: lint, preview and build glTF and Godot scenes.
Game sound effects and music written as text: lint, listen and build WAVs and Godot resources.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP bridge that provides an interface to UCI chess engines (such as Stockfish or Leela Chess Zero).
The UCI side runs on esca: it speaks the protocol to the engine and answers every chess question the bridge has along the way.
You need to have Python 3.12 or newer, and also uv/uvx installed.
To function, it requires an installed UCI-compatible chess engine, like Stockfish (has been tested with Stockfish 17).
In case of Stockfish, you can download it from https://stockfishchess.org/download/.
On macOS, you can use brew install stockfish.
You need to find out the path to your UCI-capable engine binary; for further example configuration, the path is e.g. /usr/local/bin/stockfish (which is default for Stockfish installed on macOS using Brew).
The further configuration should be done in your MCP setup; for Claude Desktop, this is the file claude_desktop_config.json (find it in Settings menu, Developer, then Edit Config).
The full path on different OSes
~/Library/Application\ Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonAdd the following settings to your MCP configuration (depending on the way to run it you prefer):
Uvx is able to directly run the Python application by its name, ensuring all the dependencies, in a automatically-created virtual environment. This is the preferred way to run the chess-uci-mcp bridge.
Set up your MCP server configuration (e.g. Claude Desktop configuration) file as following:
"mcpServers": {
"chess-uci-mcp": { "command": "uvx", "args": ["chess-uci-mcp@latest", "/usr/local/bin/stockfish"] } }
To pass options to the engine, add them to the args array. For example, to set the Threads and Hash options for Stockfish:
"mcpServers": {
"chess-uci-mcp": { "command": "uvx", "args": [ "chess-uci-mcp@latest", "/usr/local/bin/stockfish", "-o", "Threads", "4", "-o", "Hash", "128" ] } }
Use it if you have the repository cloned locally and run from it:
"mcpServers": {
"chess-uci-mcp": { "command": "uv", "args": ["run", "chess-uci-mcp", "/usr/local/bin/stockfish"] } }
Similarly, to pass options when running with uv:
"mcpServers": {
"chess-uci-mcp": { "command": "uv", "args": [ "run", "chess-uci-mcp", "/usr/local/bin/stockfish", "-o", "Threads", "4", "-o", "Hash", "128" ] } }
The application accepts the following command-line options:
ENGINE_PATH: (Required) The path to the UCI-compatible chess engine executable.--uci-option or -o: Set a UCI option. This option can be used multiple times. It takes two arguments: the option name and its value (e.g., -o Threads 4).--think-time: The default thinking time for the engine in milliseconds. Defaults to 1000.--debug: Enable debug logging.The bridge provides the following MCP commands:
analyze - Analyze a chess position specified by FEN stringget_best_move - Get the best move for a chess positionset_position - Set the current chess positionengine_info - Get information about the chess engineget_engine_options - Get all available UCI engine options with their metadata and current valuesset_engine_options - Set one or more UCI engine options at runtime# Clone the repository
git clone https://github.com/AnglerfishChess/chess-uci-mcp.git
cd chess-uci-mcp
uv venv --python python3.13
source .venv/bin/activate # On Unix/macOS
.venv\Scripts\activate # On Windows
uv pip install -e ".[dev]"
uv sync --extra=dev
pytest
ruff check
The checklist lives in the releasing skill under .claude/skills/, so a release runs the same way every time: preconditions, version bump, tag, GitHub release. Publishing a GitHub release is the trigger — from there .github/workflows/publish.yml builds the package and uploads it to PyPI through a trusted publisher, then republishes the MCP registry entry. Both authenticate over OIDC, so no token is stored in this repository or on any developer's machine.
Nothing is automatic: a release only happens when a human publishes the GitHub release.
pyproject.toml holds the version, and every other copy is derived from it:
uv sync --extra=dev # updates uv.lock, keeping the dev tools installed
uv run python .claude/skills/releasing/scripts/sync_version.py
That writes chess_uci_mcp/__init__.py and both version fields in server.json. Passing --check instead reports drift without touching anything, which is what CI runs.
registry.modelcontextprotocol.io is the authoritative index of public MCP servers, consumed by Smithery, PulseMCP, Docker Hub and others. It has no search box; it is an API:
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=chess-uci-mcp&limit=3"
The listing is described by server.json, under the name io.github.AnglerfishChess/chess-uci-mcp. GitHub authentication grants the io.github. /* namespace; an organisation namespace additionally requires Owner rights on that organisation, and the name is case-sensitive.
Ownership of the PyPI package is proven by the mcp-name: marker near the top of this README, which becomes the package description on PyPI. The registry reads it from the *published* artifact, so adding it to git is not enough — it only counts once a release carrying it reaches PyPI. Note also that the registry caps description at 100 characters where PyPI does not, which is why server.json carries its own one-line description rather than reusing the project's.