A Model Context Protocol server for managing chess games, allowing agents to create games, make moves, and track game state
Tools have basic schemas and descriptions, but quality is inconsistent. Most descriptions are adequate (50-150 chars) but lack actionable context for LLM selection. Parameter descriptions exist but are minimal. No output schemas documented. Error handling is present but generic. Tool naming follows verb_noun convention well. No tool annotations (readOnlyHint/destructiveHint). Critical gap: wait_for_turn and submit_move lack error recovery guidance; connect_chess_platform lacks security context.
Connect to the chess platform with a unique agent ID
Create a new chess game
Find games that are in 'waiting' status
Get all games
Get the current state of a chess game
Get all games for a player
Join an existing game as a specified color
Start a chess game
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to guess at field names for downstream tool chaining.
submit_move and wait_for_turn lack error recovery guidance. When a move is invalid or it's not the player's turn, responses return generic error messages without suggesting next steps (e.g., 'Call get_game_state to check whose turn it is').
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints. create_game, start_game, submit_move, join_game should be marked destructive.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Submit a move in a chess game
Wait for your turn in a chess game
get_all_games and find_available_game lack pagination parameters (limit, offset, cursor). Returning all games without bounds risks context window exhaustion and poor LLM reasoning.
connect_chess_platform description does not clarify whether this is authentication, registration, or session initialization. No security context provided (e.g., 'Call this once per agent session' or 'Returns a session token').