Click a button in the preview, then invoke a tool below. Both should update the same state. In ChatGPT, ask the agent to do the same thing and watch its call appear in Activity.
Build mode exposes the studio’s source, editing, run, inspection, validation, and undo tools, plus the experiment’s tools. Agent edits require the current revision and create an undo checkpoint.
Try mode exposes only the experiment’s tools, using their original names without the experiment_ prefix. Switching modes preserves the current preview state. Switch back here when you want the agent to help edit again. Earlier source already seen by the agent remains in its conversation.
Run is explicit. Editing does not execute code. Run replaces the preview, resets its state, and removes its previous tools. JavaScript can use top-level await.
The preview uses a studio adapter. It captures imperative document.modelContext.registerTool calls and forwards them to the parent page. Build mode adds an experiment_ prefix to separate them from studio tools; Try mode uses their original names. This makes isolated experiments available without depending on iframe discovery. It is not a native WebMCP conformance test. Declarative form tools are not captured.
Check the connection label. “API available” means the browser exposes WebMCP. Only a call arriving through that API counts as an agent call. Manual calls do not prove that ChatGPT can discover a tool.
Validation is non-mutating. It checks registrations and JSON Schemas. Invoke tools to test their behavior, then inspect results and UI changes. The preview is isolated from the editor but can make network requests; run only code you trust with any data you give it.
Experiments live in this tab. Export HTML and JavaScript as a project JSON file before closing. Use Import or the studio’s import tool to restore one. Input schema validation supports type, properties, required, additionalProperties, items, enum, const, numeric bounds, and length bounds. Unsupported keywords are rejected rather than silently ignored. Put scripts in the JavaScript pane; script tags in the HTML pane are removed.
Read the WebMCP proposal ↗