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.