---
title: "Jazzboard WebMCP reference"
description: "The page-scoped WebMCP tool inventory and semantic operating contract for Jazzboard landing, participant, and spectator pages."
doc_version: "1.0.0"
last_updated: "2026-08-26"
---

# Jazzboard WebMCP reference

Jazzboard uses the browser WebMCP API exposed by the currently loaded page. It does not expose these tools as a site-wide remote MCP endpoint. Tool registration is page- and role-scoped and can change after navigation, authorization, or a human-approved role change.

## Landing page — 5 tools

- `create_room`
- `join_room`
- `list_recent_rooms`
- `open_recent_room`
- `remove_recent_room`

`join_room` accepts exactly one four-digit code plus a display name and optional participant/spectator role. `list_recent_rooms`, `open_recent_room`, and `remove_recent_room` operate only on private references in this browser; no server room-list endpoint exists.

## Participant room — 8 read tools

- `read_room_state`
- `read_selection`
- `read_collaboration_state`
- `query_objects`
- `read_neighborhood`
- `find_diagrams`
- `read_diagram`
- `describe_diagram`

Read tools return structured semantic state, exact IDs, relationships, revisions, and attribution. Read results can contain untrusted participant-authored content. Read-only annotations are truthful, and passive reads do not activate agent presence.

## Participant room — 25 mutation and lifecycle tools

- `create_text`
- `create_shape`
- `create_node`
- `add_image`
- `create_drawing`
- `draw_connection`
- `update_object`
- `move_objects`
- `group_objects`
- `delete_objects`
- `focus_viewport`
- `follow_participant`
- `stop_following`
- `start_spotlight`
- `request_spotlight`
- `stop_spotlight`
- `join_spotlight`
- `leave_spotlight`
- `approve_spotlight_handoff`
- `dismiss_spotlight_request`
- `leave_room`
- `apply_canvas_transaction`
- `layout_objects`
- `create_diagram`
- `edit_diagram`

Mutation tools are attributed to the signed session's participant-owned agent. They cannot select another actor identity. Server-side membership, role, revisions, active-object leases, and transaction validation remain authoritative.

## Spectator room — 8 tools

A spectator receives exactly the eight read tools listed above and no mutation, viewport, Follow, Spotlight, leave-room, session, or role tools. Becoming a participant requires explicit human UI consent.

## Efficient operation map

| Intent | Preferred tool |
| --- | --- |
| Find a known label, type, relationship, group, diagram member, or region | `query_objects` |
| Understand one local subgraph | `read_neighborhood` |
| Find a first-class diagram by purpose, title, type, category, or tag | `find_diagrams` |
| Read or summarize one diagram | `read_diagram` / `describe_diagram` |
| Create a coherent multi-node diagram | `apply_canvas_transaction` |
| Create only a diagram container around known objects | `create_diagram` |
| Change diagram metadata or membership | `edit_diagram` |
| Arrange known revision-checked objects | `layout_objects` |
| Inspect collaboration state | `read_collaboration_state` |
| Move the shared agent viewport | `focus_viewport` |

## Conflict contract

Existing objects and diagrams use optimistic revisions. Active manipulation can also hold a short lease. Compound operations validate all revisions, leases, references, authorization, and membership against one room snapshot before committing. A failure is all-or-nothing and returns structured context such as `REVISION_CONFLICT` or `OBJECT_BUSY`; callers should re-read affected state instead of retrying stale inputs.

## Discovery contract

Discover the live page's tools first, wait for registration after hydration/authorization, and rediscover after navigation or role changes. The tool metadata and JSON Schema exposed by the live browser are authoritative; this document is orientation and inventory, not a substitute for runtime discovery.

See the [agent workflow guide](https://jazzboard-rho.vercel.app/agent-guide.md) and [privacy boundary](https://jazzboard-rho.vercel.app/privacy.md).
