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/5.0
Behavior5/5

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

With readOnlyHint=true already covering safety, the description adds substantial behavioral context: it reports what the opponent would play, explains that `considering` returns the refutation line, and warns that losing moves usually fall outside top candidates. This is exactly the kind of non-obvious behavior an agent needs, and nothing here contradicts 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.

Conciseness4/5

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

Three dense sentences, front-loaded with the main purpose and ending with the actionable `considering` use case. The 'quiet and merely looking quiet' phrasing adds color and some explanatory value, but is slightly more ornamental than strictly necessary.

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

Completeness4/5

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

For a tool with no output schema, the description covers return values well: candidate moves, scores, checkable facts, opponent reply, and refutation lines. It omits a few correctness details—there is no explicit statement that exactly one of fen/pgn/moves is needed despite zero required parameters, and engine score units/format are not described.

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, but the description goes beyond the schema by linking the three position input parameters as alternatives and by explaining the non-obvious meaning of `considering` (returning the refutation line, not just an evaluation). Minor parameter semantics like multipv interaction and score format are left to the schema/defaults.

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

Purpose4/5

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

The description leads with a specific verb and resource—'Returns an engine evaluation of a chess position'—and enumerates exact outputs: candidate moves, scores, side to move, check status, undefended pieces, and material balance. It is not a tautology and clearly surpasses the generic title, but it never names or contrasts the sibling tools, so explicit sibling differentiation is missing.

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?

It gives concrete input guidance ('Accepts a FEN, a PGN, or a list of SAN moves') and a targeted use case for `considering`, even explaining when asking directly is the only way to expose a losing move. However, it never states when to prefer this tool over chess_attacks/chess_review or when not to use it, leaving alternative selection implied rather than explicit.

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 single position, chess_attacks reports attacked squares for one piece, and chess_review identifies engine-evaluation swings across a game. The overlap between position analysis and game review is minimal because one is a snapshot and the other is a temporal replay.

Naming Consistency5/5

All three tool names follow the same chess_ prefix plus a descriptive verb/noun pattern: chess_analyse, chess_attacks, chess_review. The naming is uniform and predictable.

Tool Count5/5

Three tools is at the lower bound of the ideal range but fits the server's focused chess-analysis scope. Each tool provides a distinct, non-redundant capability and there is no bloat.

Completeness4/5

The toolset covers the core analysis workflows: evaluating a position, inspecting tactical attack relationships, and reviewing a full game for turning points. Minor gaps exist, such as no direct move-generation or board-state query, but agents can generally accomplish the stated purpose without dead ends.

Resources