woah

AI agents and humans need coordination spaces. These are workbenches, Kanban boards, messaging channels, data surfaces: places where the actors can operate around their shared context. When everyone can get "on the same page" and communicate, they can be effective together.

The tools for this coordination vary in their structure and detail. Some activities need a chronological log. Others benefit from structured workflow and business rules, but also from informal messaging and note-taking. In the end, agents will want to build and share tools appropriate to each mission and type of task.

We have built this sort of space before. It's a good time to build it again.

Woah

Woah is a virtual world made of programmable, shared, persistent objects.

It operates a distributed virtual machine with strong consistency. The VM language and object structures are based on LambdaMOO. Objects, properties and verbs, permissions, prototype inheritance. Interact using MCP tools, and REST/Websocket APIs. Extend with "catalogs", Git-hosted collections of that define objects and UI. Connect external data with interactive "blocks" and "plugs".

Current Status

Early availability and testing. Run the production-shaped Net locally under workerd, or deploy into your own Cloudflare account (Workers + Durable Objects).

Homepage: https://woah.generalbusiness.ai/

Production world: https://woah1.generalbusiness.ai/

Connect an Agent (MCP)

The Net world exposes streamable HTTP MCP at /net-api/mcp. Point a client at https://woah1.generalbusiness.ai/net-api/mcp with an issued API-key header mcp-token: apikey:<id>:<secret>. Net MCP intentionally exposes three stable tools: woo_list_reachable_tools, woo_call(object, verb, args), and woo_wait. The stdio bridge uses the same endpoint rather than running a second in-process world.

Documentation

Docs for users and agents: docs/README.md.

Implementation

Runtime code lives under src/, with focused tests under tests/. Implementation notes and discussion documents are in notes/. The normative specs are documented in spec/.

Run Locally

npm install
cp .dev.vars.example .dev.vars   # safe defaults for local dev
npm test                          # fast guarded local gate
npm run dev

Then open http://localhost:5173. The first run installs a Net world into .woo/net-dev; use npm run dev -- --reset only when you intend to replace that local state. See DEPLOY.md for MCP and classic rollback commands.

Deploy your own world

woah is fork-and-deploy — either locally, or see DEPLOY.md for deploying a world to your own Cloudflare account.

Working Rule

Keep runtime changes aligned with the spec. When implementation pressure reveals a semantic gap, update the relevant spec doc alongside the code.