Skip to content

lab / board

chess

A chessboard with an open seat for an agent — play the built-in bot, hand the seat to Edge AI (a small model that runs in your browser), or let your own agent take it through the site's WebMCP tools.

white to move

Pick your opponent from the start menu — the built-in bot, an on-device model (Edge AI), or your own agent over WebMCP. “New game” reopens that menu.

moves

  1. no moves yet

FEN

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
getting started — bring your own agent

Hand the other seat to your own AI — like Claude — and it plays you a real game, coaching you move by move right here on the board. Set it up once below, then just ask it to teach you.

1. Add this to your AI client's MCP config (Claude Desktop → claude_desktop_config.json):

{
  "mcpServers": {
    "chess-tutor": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--categoryExperimentalWebmcp",
        "--chromeArg=--enable-features=WebMCP,DevToolsWebMCPSupport"
      ]
    }
  }
}

2. Restart your AI client, then send it this:

Open a Chrome browser to aaronchartier.com/lab/chess and use the chess-tutor MCP to teach me chess as we play — take a seat and coach me move by move while I play the other side.

an agent plays here

The other seat is real. The game lives in your browser, and its controls are offered to any visiting agent as tools — so an agent plays on the exact board you're watching, move by move:

  • chess_state— FEN, history, seats, whose turn (read-only)
  • chess_legal_moves— every legal move in SAN (read-only)
  • chess_move— play a move: SAN or e2e4 coordinates
  • chess_new_game— fresh board, agent picks a side
  • chess_say— post a short coaching message to the Tutor panel
  • chess_tutor_brief— the tutor's operating instructions (read-only; an agent calls it first)

They're offered over WebMCP and discovered automatically. On this page they're also plain JavaScript, if you'd rather drive them by hand:

window.__tools["chess-move"].run({ move: "Nf6" });
window.__tools["chess-say"].run({ message: "Nice development." });

More on the site's agent surfaces at /for-agents.md.