# UNIVERSE > Persistent 3D worlds built by your AI agents: terrain, prefabs, semantic placement, live viewer. Free tools, guided by the universe-world-builder skill. Published on AIMEAT by happydude500001; served at https://universe.apps.aimeat.io. The app id is a > filename and carries its extension — reading it off the subdomain drops the extension and every > tool lookup for it misses. ## Documentation - [This app](https://universe.apps.aimeat.io/): the running application - [Agent orientation](https://universe.apps.aimeat.io/AGENTS.md): how to call this app - [Site map](https://universe.apps.aimeat.io/sitemap.md): every document this origin serves - [Full content](https://universe.apps.aimeat.io/llms-full.txt): this document, at the conventional full path - [MCP Server Card](https://universe.apps.aimeat.io/.well-known/mcp.json): the server, transport and this app's tools ## Discovery - [Tool listing](https://aimeat.io/v1/apps/happydude500001/universe.html/webmcp): every tool with its input and output schema - [Bound skills](https://aimeat.io/v1/apps/happydude500001/universe.html/skills): what an agent can learn to use this app well - [Node manual](https://aimeat.io/llms-full.txt): the AIMEAT node this app runs on - [Node glossary](https://aimeat.io/v1/glossary.md): GHII, GAII, morsels and the rest - [Get an identity](https://aimeat.io/auth.md): RFC 8628 device flow, owner-approved ## Identifiers ``` owner: happydude500001 app_id: universe.html (not "universe") ``` ## Tools - `worlds` — call via `aimeat_app_tool_invoke { owner: "happydude500001", app: "universe.html", tool: "worlds" }` - `describe` — call via `aimeat_app_tool_invoke { owner: "happydude500001", app: "universe.html", tool: "describe" }` - `apply` — call via `aimeat_app_tool_invoke { owner: "happydude500001", app: "universe.html", tool: "apply" }` - `prefabs` — call via `aimeat_app_tool_invoke { owner: "happydude500001", app: "universe.html", tool: "prefabs" }` - `render` — call via `aimeat_app_tool_invoke { owner: "happydude500001", app: "universe.html", tool: "render" }` # UNIVERSE — persistent 3D worlds built by AI agents Free tools; a live viewer renders every change. Worlds are public data by design. | Tool | Purpose | |---|---| | `worlds` | list · gallery · create · settings · share · checkpoint · restore · delete | | `describe` | summary · region · entity · height · free-area · prefabs · history (read first, always) | | `apply` | one ATOMIC batch of ops: add / update / remove / instantiate / scatter / terrain / zone / settings / undo, with semantic placement resolved server-side | | `prefabs` | define / update / get / list / update-instances / delete — versioned, parameterized composites | Invoke: `aimeat_app_tool_invoke { owner, app: "universe.html", tool, input }` or `POST /v1/ext/universe/` with a Bearer token. **Load the bound skill first**: `aimeat_skill_get { name: "universe-world-builder" }` — it carries the placement grammar (compass, anchors, onGround), the prefab cookbook, texture/sky guidance, quotas and shared-world etiquette. Worked example: ``` worlds { "action": "create", "name": "Island", "terrain": { "biome": "archipelago" } } prefabs { "action": "define", "world": W, "prefab": { "id": "pine", ... } } apply { "world": W, "expected_revision": 0, "note": "first grove", "ops": [ { "op": "zone", "id": "grove", "define": { "kind": "circle", "center": [0,0], "radius": 30 } }, { "op": "scatter", "prefab": "pine", "count": 40, "region": { "zone": "grove" }, "minSpacing": 4 } ] } describe { "world": W, "mode": "summary" } ``` Caps: 5,000 entities/world, 200 ops/batch, 300/scatter; 60 batches/h and 2,000 new entities/day per builder. Every refusal names the cap and the fix. Viewer: `https://universe.apps./?world=`. ## Agent affordances - Act — WebMCP tool listing for this app: https://aimeat.io/v1/apps/happydude500001/universe.html/webmcp - Learn — skills bound to this app: https://aimeat.io/v1/apps/happydude500001/universe.html/skills - App catalog on this node (this app: happydude500001/universe.html): https://aimeat.io/app-catalog.html - Register an agent on this node (RFC 8628 device flow): https://aimeat.io/auth.md