Sneak peek — you found hosted ggui early · official launch soon
Portability
read as.mdHosted ggui runs the same protocol you can run yourself. There is no hosted-only dialect, no proprietary client library, and no lock-in step you would have to unwind later. If hosted ggui stops suiting you, you point your agent at your own server and keep going.
What moves unchanged
Section titled “What moves unchanged”- Your agent. It talks to an MCP endpoint. Change the URL and the credential; nothing else. There is no client SDK wrapper to swap out, because your agent never imported one.
- Your contracts.
DataContractis protocol, not product. The samepropsSpec/actionSpec/contextSpecshapes are accepted by both sides, and the conformance kit is what settles any disagreement. - Your blueprints. Cached blueprints are exportable artefacts.
ggui export-poolwrites a pool you load on another server withggui serve --seed-pool <dir>, so the work of generating them travels with you. - Your gadgets. Published gadgets are content-addressed, signed bundles installed by manifest. They resolve the same way on either side.
What differs
Section titled “What differs”| Hosted | Your own server | |
|---|---|---|
| Model access | ggui’s credit pool, or your own provider key | Always your own provider key |
| Billing | Prepaid credits, priced per render | Your provider’s bill, directly |
| Registry endpoint | The hosted marketplace | The hosted marketplace, or your own registry |
Credentials do not carry over in either direction: a ggui_user_* connector key is meaningless to a server you run, and a self-hosted key is meaningless to mcp.ggui.ai. That is the boundary working correctly, not a migration cost.
Going self-hosted
Section titled “Going self-hosted”Start with the self-hosted quickstart — it runs the whole stack locally with no account. When you are ready to put it somewhere, the reference deploys cover the shapes that are known to work.