Skip to main content
Glama
indulge

Stockfish MCP Server

by indulge

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STOCKFISH_PATHNoPath to the Stockfish binary.engine/stockfish
STOCKFISH_HASH_MBNoTransposition-table size (MB).256
STOCKFISH_THREADSNoSearch threads.min(4, ncpu)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
analyze_positionB

Analyze a chess position with Stockfish and return the evaluation and best lines.

get_best_moveA

Pick a move for the side to move, optionally at reduced strength.

evaluate_positionA

Quickly evaluate a position and return the score and best move.

A lighter, faster version of analyze_position (single line, shallower default depth). Score is from White's point of view.

get_legal_movesA

List all legal moves in a position (SAN and UCI).

apply_movesA

Apply a sequence of moves to a position and return the resulting FEN.

Useful for playing out a line without the server holding game state.

visualize_boardA

Render a position as a text board for human reading.

engine_infoA

Return the Stockfish engine's name, author, and a few configurable options.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 7 tools

Disambiguation3/5

There is overlap between analyze_position, evaluate_position, and get_best_move, as all provide position evaluation or move suggestions. The descriptions attempt to differentiate them, but an agent may struggle to select the appropriate tool.

Naming Consistency4/5

All tool names use snake_case and generally follow a verb_noun pattern, with verbs like get_, analyze_, evaluate_, and apply_. However, the mix of get_ with other verbs like analyze_ and evaluate_ introduces minor inconsistency.

Tool Count5/5

With 7 tools, the server covers core chess analysis and interaction functions without unnecessary bloat. Each tool contributes to a clear purpose, and the count is ideal for the domain.

Completeness4/5

The tool set covers essential operations: analysis, move generation, board visualization, and applying moves. Minor gaps include lacking explicit start_position loading or customizable depth options, but the surface is sufficient for typical stateless analysis use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues