Start the Emulator
DevTools ships with the dev server. In a scaffolded project, start it from the project root:http://localhost:3000/mcp: your MCP serverhttp://localhost:3000/: the DevTools
Explore the Features
Select a tool in the sidebar and DevTools gives you the full exchange:
- Tool controls: generated from the tool’s input schema. Inputs can be saved and re-run from the tool header.
- Tool output: the raw server response (
content,structuredContent,_meta), with status, latency, and payload size. - State inspector: the view state as a JSON tree, updated as the view mutates it.
- View preview: the rendered View, with live controls to switch display mode, theme, locale, and device type; the preview updates immediately.
- Call logs: every runtime API call the view makes (
setViewState,callTool,requestDisplayMode) with its arguments and responses.
Authenticated Servers
When your server requires OAuth, DevTools registers itself through Dynamic Client Registration on first connect and walks the full PKCE flow as a public client. A server that needs a pre-registered client or a different grant type won’t connect from DevTools. DevTools caches the authorization within the browser, so later sessions reconnect without prompting. To clear a cached registration, click Sign out in the header.Limitations
DevTools emulates, and three gaps separate the emulation from production:- No model: you pick the tool and type the arguments yourself. Tool selection, the prompt surface (names, descriptions, schemas), and follow-up messages are never exercised.
- One runtime: as of today the preview mocks the Apps SDK runtime. MCP Apps-specific features are not yet supported.
- Loose CSP: external resources blocked by hosts in production may load locally.
To test your app against a real LLM, use the playground or connect your server to ChatGPT or Claude using the tunnel.
Go Further
Tunnel
Expose your local server to real hosts
Playground
Chat with a real model running your app
Audit
Catch spec and platform issues before submission