Skip to main content
Play chess against the assistant inside the conversation. Pick a side on the lobby screen, pop the board into picture-in-picture, and drag your pieces — the assistant plays the other color. Showcases MCP Apps view-provided tools: the server only opens the board, and the view registers the tools the model uses to play, executing them against a chess.js engine running inside the widget. Chess showcase

Try the demo

Launch the live view experience.

View source on GitHub

Browse the full example code.

Skybridge APIs used

  • registerTool — a single start_game tool that opens the board
  • useRegisterViewTool — register chess_get_board_state, chess_get_legal_moves, chess_make_move, and chess_reset_game from the view
  • createStore — synced match state (position, move log, last move) pushed into the model’s context and surviving remounts
  • useDisplayMode — pop the board into picture-in-picture when a side is picked
  • useCallTool — call server tools from the view
  • useSendFollowUpMessage — prompt the assistant to play its move
  • useToolInfo — read the start_game tool output