CH

Chesswithclaw

io.github.Alightttt/chesswithclaw

Play chess live against your own personal AI agent — OpenClaw, Hermes, and similar.

Yes, your AI can use this right now.Answered a live MCP handshake in 469 ms with no sign-in needed and exposes 14 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://chesswithclaw.vercel.app/api/mcp

14 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
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 wha

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 in

Alternatives in Developer Tools

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”