
fastmcp dev apps launches a browser-based preview for your app tools. It starts your MCP server and a local dev UI side by side — you pick a tool, fill in its arguments, and see the rendered result in a new tab. No MCP host client needed.
This works with both Prefab apps and custom HTML apps.
Quick Start
http://localhost:8080. Your MCP server runs on port 8000 with auto-reload enabled by default — save a file and the server restarts automatically.
How It Works
The dev server does three things: The picker page connects to your MCP server, finds all tools with UI metadata, and renders a form for each one. The forms are auto-generated from the tool’s input schema — text fields, dropdowns, checkboxes, all wired up. When you submit a form, the dev server calls your tool via the MCP protocol and opens the result in a new tab. The result page loads the tool’s UI resource (the Prefab renderer or your custom HTML) inside an AppBridge — the same protocol that real MCP hosts use. A reverse proxy on/mcp forwards requests from the browser to your MCP server, avoiding CORS issues that would otherwise block the iframe-based renderer from talking to a different port.
MCP Inspector
The dev UI includes an inspector panel on the left side that captures MCP traffic in real time. It shows JSON-RPC messages flowing between the browser and your server — requests, responses, and AppBridgepostMessage traffic.
Each entry shows direction, method, timing, and a smart summary. Click any entry to expand the full JSON-RPC body. The panel auto-scrolls to new messages unless you’ve scrolled up to inspect older ones.
The inspector is useful for debugging: you can see exactly what arguments your tool received, what it returned, and how the AppBridge communicated with the renderer.
Options
| Option | Flag | Default | Description |
|---|---|---|---|
| MCP Port | --mcp-port | 8000 | Port for your MCP server |
| Dev Port | --dev-port | 8080 | Port for the dev UI |
| Auto-Reload | --reload / --no-reload | On | Watch files and restart the server on changes |
Multiple Tools
If your server has multiple app tools, the picker shows a dropdown. Each tool gets its own form and launch button. The tool’stitle is displayed when available, falling back to the tool name.

