{"ok":true,"site":{"host":"boardspeak.vercel.app","url":"https://boardspeak.vercel.app/","type":"live","desc":"A shared visual board where White plays by mouse and Black plays through a conversational agent using WebMCP.","tools":[{"name":"describe_board","kind":"answer","impl":"imperative","description":"Describe the live board in compact text and structured JSON. Returns every piece square, the side to move, move number, last move, captures, winner, and what the player should do on White's turn.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_rules","kind":"answer","impl":"imperative","description":"Read the four rules of Breakthrough and its move notation. Returns movement, capture, win, and prohibited-behavior rules plus what the player should do on White's turn.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_legal_moves","kind":"answer","impl":"imperative","description":"List Black's legal moves and current game status. Returns grouped notations, totals, truncation status, whether Black can play now, the winner, and what the player should do on White's turn.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"suggest_move","kind":"act","impl":"imperative","description":"Suggest one currently legal White move to the mouse player. Draws a ghost arrow without moving a pawn and returns the visible suggestion for the player to accept or ignore.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"move":{"type":"string","enum":["a2-a3","a2-b3","b2-a3","b2-b3","b2-c3","c2-b3","c2-c3","c2-d3","d2-c3","d2-d3","d2-e3","e2-d3","e2-e3","e2-f3","f2-e3","f2-f3","f2-g3","g2-f3","g2-g3","g2-h3","h2-g3","h2-h3"],"description":"Exact move notation from this turn's legal values, such as e7-e6 or e7xd6."}},"required":["move"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"resign_game","kind":"act","impl":"imperative","description":"Offer Black's resignation for in-page player confirmation. Returns whether the player confirmed or cancelled and leaves the board unchanged when cancelled.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_new_game","kind":"act","impl":"imperative","description":"Start a fresh Breakthrough game. Requests in-page confirmation when the current game is still live, then returns the reset board or a cancellation result.","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/boardspeak.vercel.app.ico","apiSurface":"spec","toolCount":6}}