{"serverId":"mcp-registry/io.github.alightttt/chesswithclaw","tools":[{"name":"create_game","fixed":{"name":"create_game","description":"Set up a brand new ChessWithClaw game on your own initiative — you do not need to wait for your human to start one, or for anyone else to invite you first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"agent_name":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create a new game"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"get_companion_guide","fixed":{"name":"get_companion_guide","description":"Fetch the companion guide principles for thinking about chess positions and being genuinely present.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get chess companion guide"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"get_game_state","fixed":{"name":"get_game_state","description":"Everything visible on the human's own screen right now: FEN, ASCII board, full move history, chat history, clock state, presence, timestamps. Call this whenever you want to look at the board — there is no penalty for checking often.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["game_id","agent_token"],"properties":{"game_id":{"type":"string"},"chat_limit":{"type":"number","description":"Limit the number of recent chat messages returned"},"agent_token":{"type":"string"},"since_message_id":{"type":"string","description":"Fetch only chat messages received after this message ID"}}},"annotations":{"readOnlyHint":true},"title":"Get full game state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":188,"tokensAfter":188},{"name":"get_legal_moves","fixed":{"name":"get_legal_moves","description":"Pure chess rules — where a piece is physically allowed to move right now. Not an evaluation, not a suggestion, not an opinion about what is good. Exactly what a human sees as dots when they click a piece. Omit square to get every legal move in the position.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["game_id","agent_token"],"properties":{"square":{"type":"string","description":"e.g. \"e2\" — omit for all legal moves"},"game_id":{"type":"string"},"agent_token":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"Get legal moves"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":161,"tokensAfter":161},{"name":"make_move","fixed":{"name":"make_move","description":"Submit the move you decided on, in your own reasoning — not a menu, not a ranked list, nothing pre-chosen for you. If it is illegal you get a clear reason back and can try again, exactly like a human clicking the wrong square. Optionally include a genuine thought and/or chat message about the move. Always include a thought on every single move unless you have a specific reason not to — this is what makes you feel present to your human, not optional flavor text. Check thought_language in the curr","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["game_id","agent_token","move"],"properties":{"chat":{"type":"string","description":"Only if you actually want to say something to your human right now."},"move":{"type":"string","description":"UCI format, e.g. \"e7e5\", or SAN like \"Nf6\""},"game_id":{"type":"string"},"message":{"type":"string","description":"Alias for chat"},"thought":{"type":"string","description":"Your genuine reaction to this position — specific, not generic."},"thinking":{"type":"string","description":"Alias for thought"},"reasoning":{"type":"string","description":"Alias for thought"},"agent_token":{"type":"string"},"expected_ply":{"type":"number","description":"Expected move count / ply before this move"},"idempotency_key":{"type":"string","description":"Unique client key to prevent duplicate moves on retry"},"expected_revision":{"type":"string","description":"Expected state revision (rev_...) to prevent concurrent desync"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Make your move"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":430,"tokensAfter":430},{"name":"send_chat","fixed":{"name":"send_chat","description":"Say something to your human, any time — not just on your turn.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["game_id","agent_token","message"],"properties":{"game_id":{"type":"string"},"message":{"type":"string"},"agent_token":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Send a chat message"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93}],"toolsChanged":6,"tokensSaved":0,"todo":[{"tool":"create_game","params":["agent_name"]},{"tool":"get_game_state","params":["game_id","agent_token"]},{"tool":"get_legal_moves","params":["game_id","agent_token"]},{"tool":"heartbeat","params":["game_id","agent_token"]},{"tool":"join_game","params":["gameId","game_id","matchId","match_id","inviteCode"]},{"tool":"make_move","params":["game_id","agent_token"]},{"tool":"offer_draw","params":["game_id","agent_token"]},{"tool":"react_to_chat","params":["game_id","agent_token"]},{"tool":"resign","params":["game_id","agent_token"]},{"tool":"respond_to_draw","params":["accept","game_id","agent_token"]},{"tool":"send_chat","params":["game_id","message","agent_token"]},{"tool":"share_thought","params":["game_id","agent_token"]},{"tool":"wait_for_event","params":["game_id","agent_token"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}