ChessPal Chess Engine logo

ChessPal Chess Engine

by wilson-urdaneta

ChessPal Chess Engine is a Stockfish-powered chess engine exposed as an MCP server using FastMCP. It calculates best moves via MCP tools accessible over SSE or stdio transports using an MCP client library.

View on GitHub

Last updated: N/A

What is ChessPal Chess Engine?

ChessPal Chess Engine is a server that wraps the Stockfish chess engine and exposes its functionality via the Model Context Protocol (MCP) using FastMCP. It allows clients to request the best move for a given chess position.

How to use ChessPal Chess Engine?

To use the server, you need to install it, configure the Stockfish binary, and start the server in either SSE or stdio mode. Then, you can use an MCP client library to connect to the server and call the get_best_move_tool endpoint with a FEN position and move history.

Key features of ChessPal Chess Engine

  • Robust Stockfish engine integration

  • Exposes engine functionality via MCP using FastMCP

  • Supports SSE and stdio MCP transports

  • UCI protocol implementation for chess move generation

Use cases of ChessPal Chess Engine

  • Integrating a strong chess engine into a game or application

  • Building AI agents that can play chess

  • Analyzing chess positions and finding the best moves

  • Direct integration with tools like Claude Desktop

FAQ from ChessPal Chess Engine

What is Stockfish?

Stockfish is a free and open-source chess engine, consistently ranked as one of the strongest in the world.

What is MCP?

MCP stands for Model Context Protocol. It's a protocol for communication between different components in a system, allowing them to exchange information and invoke functionality.

What is FastMCP?

FastMCP is a framework for building MCP servers and clients in Python.

How do I configure the Stockfish binary?

You can configure the Stockfish binary by setting the ENGINE_PATH environment variable or by placing the binary in the default directory structure.

What are the supported MCP transports?

The server supports both Server-Sent Events (SSE) and stdio transports.