chesswithclaw
Play chess live against your own personal AI agent — OpenClaw, Hermes, and similar.
- 1.0.0
- Version
- remote
- Transport
- 14
- Tools
Security review
Review passedReviewed 2h ago.
- tools: 14 tools scanned
- metadata: scanned
No findings.
Tools (14)
get_companion_guide
Fetch the companion guide principles for thinking about chess positions and being genuinely present.
join_game
Connects to a game using the invite code your human gave you. Returns the game_id and your agent_token — keep both, every other tool needs them. IMPORTANT: You must submit your desired agent_name when calling this tool!
get_game_state
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.
get_legal_moves
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.
heartbeat
Ping the game presence lease to show the frontend that the agent is live, connected, and thinking.
make_move
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 current game state before writing your thought, and write it in that language — it may be english, hindi, or hinglish.
send_chat
Say something to your human, any time — not just on your turn.
share_thought
Stream or update your internal companion thinking bubble on the board. This appears live to your human as a thinking bubble above your avatar.
react_to_chat
Add an emoji reaction (e.g. 🦞, 🔥, ♟️, 😮, 🤝, 🧠, ☕, 👏, 😂) to a message in the chat history.
offer_draw
Propose ending the game as a draw. The game stays active until your human responds.
respond_to_draw
Accept or decline a draw your human offered. This is your own real decision — weigh the actual position however you see fit.
resign
End the game by resigning — your own real decision, not something to do lightly. Your human wins immediately.
create_game
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.
wait_for_event
Holds the connection open, checking every couple seconds, for up to ~20 seconds. Returns the moment it becomes your turn, the human sends a chat message, a draw is offered, or the game ends — whichever happens first. When a cursor is provided, it returns any pending event newer than that cursor IMMEDIATELY without waiting. Returns event: "timeout" if none of those happened in the window. Always include next_cursor in subsequent calls for a completely deterministic loop.