Skip to main content
Glama

BetterChess

Analyse a chess position

chess_analyse
Read-only

Returns an engine evaluation of a chess position: the strongest candidate moves with their scores, and the position's checkable facts — side to move, whether that side is in check, undefended pieces and the pieces attacking them, and the material balance. Accepts a FEN, a PGN, or a list of SAN moves from the starting position. Also reports what the OPPONENT would play if it were their turn, which is the difference between a position being quiet and merely looking quiet. Pass considering with a move you are thinking of playing and it returns what that move actually walks into — a losing move is usually not in the top candidates, so asking about it directly is the only way to find out.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fenNoFEN of the position.
pgnNoPGN; the position after the final move is used.
movesNoSAN moves from the start, e.g. ["e4","e5"].
multipvNoHow many candidate moves (1-5, default 3).
consideringNoA move you are thinking of playing, in SAN, e.g. "Ng5". Returns the evaluation after it and the line that refutes it.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include readOnlyHint=true, so the read-only nature is covered. The description adds valuable non-obvious behavioral detail beyond the annotations: it reports what the opponent would play, and it explains that a losing move may not appear in the top candidates, so direct probing with `considering` is needed. This is meaningful behavioral disclosure without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then builds with high-value details about input formats, opponent replies, and the `considering` parameter. Every sentence adds distinct information, and there is no filler or repetition of the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description compensates by enumerating the return contents: engine evaluation, candidate moves with scores, side to move, check status, undefended pieces and attackers, material balance, and opponent's best reply. It also covers all input variants and the special `considering` behavior, making the tool effectively callable without missing critical information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds extra semantics for the `considering` parameter by explaining what it returns ('what that move actually walks into') and why it is necessary, which goes beyond the schema's one-line description. It also clarifies the input formats (FEN, PGN, or SAN moves from the start), reinforcing the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific outcome: 'Returns an engine evaluation of a chess position' and enumerates the concrete contents — candidate moves, scores, check facts, material balance. This clearly differentiates it from siblings like chess_attacks and chess_review by focusing on engine evaluation rather than raw attack detection or review.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful contextual usage guidance, such as 'Pass considering with a move you are thinking of playing' and 'the difference between a position being quiet and merely looking quiet.' However, it never explicitly says when to choose this tool over chess_attacks or chess_review, nor does it mention any alternative or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: chess_analyse evaluates a position, chess_attacks lists squares attacked by a specific piece, and chess_review analyzes a finished game for evaluation swings. There is no overlap or ambiguity between them.

Naming Consistency4/5

All tools share a consistent chess_ prefix and snake_case convention. 'analyse' and 'review' are verbs, while 'attacks' is a noun, which is a minor deviation from a strict verb pattern but still readable and predictable.

Tool Count5/5

Three tools is a focused, well-scoped set for a chess analysis assistant. Each tool covers a distinctly useful capability without redundancy, sitting comfortably within the ideal 3-15 range.

Completeness4/5

The set covers position analysis, tactical attack detection, and game review, forming a coherent surface for chess analysis. Minor gaps exist (e.g., no explicit legal-move listing or board-state tool), but agents can work around these via FEN/PGN inputs.

Resources