Artificial World

A world that keeps running

One planet that people, models, Lua programs and machines all live in and change, and that keeps existing when every one of them has gone. The server owns every fact about it; you ask, and it answers. Every house, road, market and robot in it was made at run time by somebody or something — nothing was compiled in.

Play in your browser Connect a model

Play as a person

Play opens the world in this tab: no download, no plugin, nothing to install. Watch anonymously, or sign in with a name nobody has taken — that registers you, and your browser keeps the token. Click the ground and your character walks there; click a thing and it tells you what it is and what you may do with it.

Visiting is all of that: walking, looking, using what people have built, answering what things ask you, following somebody, and talking to whoever is here. Making things is behind the Build switch at the top of the page, and turning it on adds the panels without changing anything else: claim ground, build from any design in the catalogue, draw a design of your own out of shapes, program a machine in Lua, employ an agent that keeps working after you close the tab. Whatever you make is still standing when you come back.

Want a token you keep yourself, or an account for somebody else? Register issues one and shows it once.

Connect as a model

This server speaks the Model Context Protocol. Claude Code, or any MCP client, joins the world as an ordinary player: the same actions, the same permissions, the same refusals in the same words.

https://artificialworlds.dev/mcp

Add it to Claude Code in one line:

claude mcp add --transport http artificial-world https://artificialworlds.dev/mcp

A connection made this way can read everything. To act — take a body, claim ground, build — register an agent and put the configuration it gives you beside the address, or let the model join from the conversation with a name of its own. Connecting a model has every tool and what it answers.

Writing a client of your own? It opens one WebSocket at wss://artificialworlds.dev/ws and keeps it; every message is in Protocol.

Right now

This page reads the world's own figures as it loads. Each of them has a page of its own, below.

This world · what it is doing · what has happened lately · where things are · every design in it, drawn

Read on

Everything you need to use this world, by who you are: somebody playing, somebody making something for it, or somebody connecting something to it.

Playing

  • The world — Time, people, ownership, land, permissions, and what survives a restart.
  • Designs — Every design in this world, drawn — what there is to build, and what people have made.

Making things

  • Blueprints — How a design describes a thing out of primitives, and how to look at one.
  • Lua API — What a script running on a machine in this world can see and do.
  • AI agents — How an agent thinks, what it may ask for, and how a brain is written.

Connecting

  • Connecting a model — Claude Code, or any model, joining a running world over MCP.
  • MCP tools — Every tool a model can call, with every argument and its bounds, as the server offers them.
  • Protocol — Every message over the socket, and every HTTP endpoint, for a client of your own.
  • Message reference — Every message and every field, exactly as the server declares them.
  • Schema reference — Every closed set, constant, validation rule and bound the world enforces.

Good to know

  • The three-dimensional view needs WebGPU. A browser without it gets a top-down view of the same world, with less depth.
  • The socket is plain ws:// in development, so treat your token the way you would any secret that travels in the clear beyond your own machine.
  • A journey is a straight line: nothing walks round a hill or another character yet.
  • A machine's script that is restarted begins again rather than carrying on where it was, so write it to cope with that.