GGUI is in public beta preview
GGUI, an open protocol for agent-rendered interfaces, is in public beta preview. 32 packages are live on npm under @ggui-ai, the server and SDKs are open source, and the hosted service behind console.ggui.ai is taking signups.
The idea in one paragraph. Your agent asks for the interface it needs, in natural language, over MCP. What comes back is a typed component, delivered as an MCP Apps resource the host mounts in a sandboxed iframe. When the person clicks, the click returns to your agent as a typed event. A declared contract sits between the two sides and decides exactly what may cross, in either direction. We wrote up why that contract, and not the generated code, is the load-bearing piece.
Three ways in
In Claude Desktop, about three minutes. The quickstart adds one MCP server entry to your config. After that, asking Claude for a checklist or a spend dashboard produces a working interface in the conversation.
Hosted, for agents you run. Sign in at
console.ggui.ai, create an app, issue a key,
and point your agent’s MCP config at mcp.ggui.ai. There is no SDK to
install and no render code to write on the agent side; the
hosted-agent quickstart
shows the whole path.
Self-hosted, no account. npx -y @ggui-ai/cli serve runs the open protocol on
your machine, keyless and offline from any cloud of ours. The
self-hosted quickstart
covers it.
What the preview includes
The protocol wave on npm is at 0.23.0. Alongside the packages: docs.ggui.ai with a machine-readable llms.txt surface, hub.ggui.ai for browsing published gadgets and blueprints, public benchmarks with the methodology stated on the page, live status at status.ggui.ai, and this blog with its own feed.
Renders work today in hosts that implement MCP Apps, with Claude Desktop as the reference path. Where a host falls short, the agent learns it from the wire rather than guessing.
What preview means, exactly
The road is public beta preview, then public beta, then 1.0. Each stage is a promise about the wire, and today’s stage makes the smallest one.
Preview cannot give you a frozen wire. We would rather write down what
that costs you than imply otherwise. The protocol version still carries
a draft- prefix, and our version
policy is blunt about
what the prefix means. While it is there, semver describes our intent
rather than an obligation we owe you, and a breaking change can ship
without a migration document.
What we can promise today is that “breaking” is a test result rather than our opinion. A change is breaking if and only if a consumer built against the previous version now fails the conformance kit. The kit settles it. At 1.0 the prefix drops and the obligations invert, migration documents become mandatory and CI-enforced, and the deprecation window stops being a practice and becomes a promise.
Where to find us
Read the docs, file issues on GitHub, follow @ggui_ai, or write to hello@ggui.ai. Preview means the feedback window is wide open, and pre-1.0 means it can still bend the wire.