ggui is an open protocol that lets AI agents render interactive UI on the fly. Your agent describes what it needs in natural language; ggui compiles a typed component and returns it as an MCP-Apps resource (ui://ggui/render/<sessionId>) that your host mounts. The UI reports back typed events the next time your agent calls ggui_consume.
Use hosted ggui at mcp.ggui.ai — sign in at the ggui console and skip the infrastructure in minutes. Or run the whole protocol yourself with ggui serve — no account, no cloud, no API key.
Get UI in Claude Desktop — 3 minutes
Build an agent on hosted ggui
Self-hosted quickstart
Claude Desktop User
No code, no terminal. Use ggui in Claude Desktop connects your chat to hosted ggui in about three minutes, then the Todos playground — one more connector to add — gives you a real agent-driven interface to try it on. Other MCP hosts use the same endpoint with their own config shape.
Agent Builder
Wire ggui into an MCP server. Start with the hosted quickstart (5 min, no infrastructure), then the MCP protocol reference, the Cookbook, or a worked example agent. Browse shareable gadgets and blueprints at hub.ggui.ai.
Operator
Self-host the stack. ggui serve is the local deployment guide, reference deploys cover Docker, Fly.io, and Render, and the Self-hosted Registry is the artifact layer for private gadgets and blueprints.
Agentic App Builder
Ship a SaaS or webapp and want agents to drive it without rewriting the frontend? See Agentic App Builders.
Reading these docs as an LLM? Every page is also raw markdown at the same slug — start at /llms.txt (index, per the llms.txt convention), /llms-full.txt (whole site, one file), or /llms-small.txt (compact). The LLM-agent track lists the full machine-readable surface.
A typical exchange is five moments — handshake → render → interact → consume → reopen. See How ggui works for the full walk-through with code, or a real turn, traced end to end against the production demo agent.
A few terms recur across the docs:
- GguiSession — one rendered UI, minted by
ggui_render (render is the verb; the object it creates is a GguiSession). Each GguiSession carries a stable sessionId.
- Contract — the typed agreement between agent and renderer for one GguiSession.
- Tool — an agent-side action (
ggui_render, ggui_consume, …) — the MCP surface.
- Gadget — a renderer-side capability (Leaflet map, Stripe Checkout, …) the LLM can compose with.
- Blueprint — a cached recipe — a UI promoted from one-shot to “use this exact screen next time.”
→ Glossary for everything else.