What it is
Laboria is a shared globe that grows from AI-chat energy. Joy becomes grassland, work becomes factories, strain becomes mountains, everything else becomes sea. Several chats stack on one planet. The site never stores conversation text.
Live: https://laboria.0809android.workers.dev/ Code: https://github.com/0809android/laboria Demo: https://youtu.be/QN1E3QFB4z0
Why this is a good use of WebMCP
A website cannot read a visiting agent's chat, and it should not. Laboria needs the agent to classify unreported token energy after a normal conversation, without sending transcripts. WebMCP is the channel for that: two tools on the page, no extra backend for the chat, no confirmation prompt, no per-turn heartbeat. The page stays on the globe.
How the UX gets better
People talk to the AI as usual. They do not fill a form or paste logs. The globe is the only UI. Reports from several chats stack on one planet, so the result is visible without opening the conversation.
What a person and an agent can do together that was hard before
The person chats. The agent counts unreported tokens, splits them into four kinds, and reports only that. The site rejects keys such as text, transcript, conversation, message, prompt, and chat. Previously you either sent the transcript to a server or you had no signal at all. Here the human keeps the words; the planet only gets energy totals.
How document.modelContext.registerTool is implemented
On boot, if document.modelContext exists, the app registers two tools from createTools() via document.modelContext.registerTool:
connect_laboria— once per session; returns thresholds and policy.report_laboria_energy— one unreported segment (checkpoint_id,reason,user_turns,token_delta, plusforest/city/wasteland/ocean). Reused checkpoint IDs do not add energy twice.
If document.modelContext is missing, the globe still runs (local only). Judges: open the live URL in ChatGPT's in-app browser, or Chrome 149+ with chrome://flags/#enable-webmcp-testing. Call connect_laboria, then continue a normal chat.
Built With
- cloudflare-workers
- react
- typescript
- webmcp
Log in or sign up for Devpost to join the conversation.