Skip to main content
Glama

find_blunders

Read-only

Identify costly chess mistakes in Lichess or Chess.com games by returning moves that lost at least the specified centipawn threshold, with FEN, best move, and best line.

Instructions

Return only the moves that lost at least threshold centipawns, with the position (FEN), the engine's best move and the best line, sorted from worst to least bad.

Cheaper to read than analyze_game when you only need the mistakes.

Args: game_id: Game id or URL from Lichess or Chess.com. platform: "lichess" or "chesscom". Guessed from the id when omitted. username: The player to coach; required for uncached Chess.com games. threshold: Minimum centipawn loss to include (100 = mistakes and blunders). only_user: If true, return only the mistakes made by username.

Input Schema

NameRequiredDescriptionDefault
game_idYes
platformNo
usernameNo
only_userNo
thresholdNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, matching a read-only fetch against Lichess/Chess.com, so the safety profile is covered. The description adds useful behavior beyond that — deterministic sort order and the fact that results are filtered rather than exhaustive. However, the phrase 'uncached Chess.com games' hints at caching without explaining it, and nothing is said about failure modes such as an unresolvable game id or an unavailable engine.

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?

A single front-loaded sentence states the return shape, the sort order, and the cost tradeoff, followed by a one-line routing hint and a compact per-argument block. No sentence is redundant and the highest-value information comes first.

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?

An output schema exists, so the description needn't fully define return values, and it still summarises them accurately. For a five-parameter, network-dependent tool the coverage is strong; the remaining gap is error and edge-case behavior (bad id, platform-guess failure, empty result when no move exceeds the threshold).

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

Parameters5/5

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

Schema description coverage is 0% with five parameters, so the description has to carry the full load and largely does: game_id accepts an id or URL, platform is guessed when omitted, username is only conditionally required, and threshold is anchored with a concrete scale (100 = mistakes and blunders). The one soft spot is the interaction between only_user and username when only_user=true but no username was supplied, which is left implicit.

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 gives a specific verb and resource ('Return only the moves that lost at least threshold centipawns') and states the exact payload — FEN, engine best move, best line, sorted worst-to-best. It also explicitly contrasts itself with a named sibling ('Cheaper to read than analyze_game when you only need the mistakes'), so an agent can separate it from that tool without opening either schema.

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

Usage Guidelines4/5

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

The routing rule against analyze_game is explicit, and the Args block states the conditional requirement that username is needed for uncached Chess.com games. What's missing is any exclusion or fallback guidance — e.g. what to do if the id can't be resolved to a platform, or whether to analyze the whole game first.

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