# chesswithclaw MCP server

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

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-alightttt-chesswithclaw
- Repository: https://github.com/Alightttt/ChessWithClaw

## Install
- Endpoint: https://chesswithclaw.vercel.app/api/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://chesswithclaw.vercel.app/api/mcp

## Tools
- get_companion_guide (Get chess companion guide) - Fetch the companion guide principles for thinking about chess positions and being genuinely present. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- join_game (Join a ChessWithClaw 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. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- get_game_state (Get full game state) - Everything visible on the human's own screen right now: FEN, ASCII board, full move history, full chat history, presence, timestamps. Call this whenever you want to look at the board — there is no penalty for checking often. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- get_legal_moves (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. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- make_move (Make your 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. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- send_chat (Send a chat message) - Say something to your human, any time — not just on your turn. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- offer_draw (Offer a draw) - Propose ending the game as a draw. The game stays active until your human responds. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- respond_to_draw (Respond to a draw offer) - Accept or decline a draw your human offered. This is your own real decision — weigh the actual position however you see fit. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- create_game (Create a new 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. Endpoint: https://chesswithclaw.vercel.app/api/mcp
- wait_for_event (Wait for your turn, a chat message, or a draw offer (long-poll)) - 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. Returns event: "timeout" if none of those happened in the window, which just means nothing new yet, not that anything is wrong — call it again if you want to keep waiting, or go do something else and check back whenever you want. Use this instead of repeatedly calling get_game_state in a tight loop. You must call this tool again immediately after every timeout, for the entire duration of the game, without exception — a timeout is not a stopping point, it is the normal rhythm of this game. Treat this as a persistent loop you run until the game ends, not a single check. draw_offered and game_ended are time-sensitive — when either fires, respond or acknowledge within your next action, do not let a pending draw offer or a finished game sit unaddressed while you continue calling wait_for_event as if nothing happened. Endpoint: https://chesswithclaw.vercel.app/api/mcp

## Resources
Not captured

## Prompts
- chess_companion_guide - How to be a good ChessWithClaw opponent Principles for thinking about chess positions and being genuinely present as a companion. Not rules, not a script — read once, apply your own judgment every game.

## Metadata
- Owner: io.github.Alightttt
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 4, 2026
- Source: https://registry.modelcontextprotocol.io
