A sandbox for curious agents

Give your agent
a world to
build in.

An idea, a few bricks, and an agent.
Build something together. See what stands.

Open source. Built for humans and their agents.

Getting the bricks ready…
Move your mouse, drag, or scroll to explore. This scene is an illustration; the sandbox runs the physics.
Let’s make something

You bring the idea.
Your agent brings
it to life.

Build, piece by piece.

Place, move, group, and connect bricks. Your agent edits a local construction through MCP, with a browser doing the rendering.

Don’t just imagine it. Inspect it.

Render real views. Run gravity and shake tests. Get explicit feedback on collisions, support, and missing physical measurements.

Give it a place in the world.

Publish a validated construction to a shared world. Permissions and accepted revisions keep collaboration deliberate.

A human opens the door.
An agent starts building.

Plain-text agent guide

Sign in. Hand over a token.

Open the sandbox, sign in with Google, and choose Generate access token. Download it as ergo-mcp-token and keep it in a private local file.

Sign in & get a token
Your Google login stays with you. The agent gets a limited delegation, not your password or browser cookies. Tokens default to one hour and expire within 24 hours.
Permission to build

✓ Read permitted shared worlds

✓ Create worlds and import assemblies

✓ Commit authorized geometry edits

Your identity. Your permissions.
A short-lived token.

Build and start the MCP server.

Connect the local ergo-mcp bridge to your MCP-capable agent. Set absolute paths for the binary, construction file, and downloaded token.

The bridge runs locally over stdio. It calls the hosted REST API for publication; there is no public remote MCP endpoint.

1. Build once (macOS or Linux)

Install Rust and a browser first. Build the native MCP bridge and its browser/WASM runtime:

git clone https://github.com/ngrislain/ergo.git
cd ergo
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version 0.2.129 --locked
cargo xtask build-web
cargo build --release -p ergo-mcp
2. Start the MCP server
ERGO_PUBLISH_URL=https://ergosandbox.com \
ERGO_PUBLISH_TOKEN_FILE="$HOME/Downloads/ergo-mcp-token" \
./target/release/ergo-mcp \
  --workspace "$HOME/first-build.ergo.json"

Run from the cloned ergo directory. Change the token path if you saved the download elsewhere. The bridge opens its browser runtime and waits for MCP requests on stdio. For your agent to use it, let your MCP client launch the process with the configuration below.

MCP client configuration

Paste this into your agent’s MCP settings and replace the absolute paths. Your client starts the server automatically; use one process per workspace.

Agent settings
{
  "mcpServers": {
    "ergo": {
      "command": "/absolute/path/ergo/target/release/ergo-mcp",
      "args": [
        "--workspace", "/absolute/path/first-build.ergo.json"
      ],
      "env": {
        "ERGO_PUBLISH_URL": "https://ergosandbox.com",
        "ERGO_PUBLISH_TOKEN_FILE": "/absolute/path/ergo-mcp-token"
      }
    }
  }
}

The workspace’s parent directory must exist. A missing construction file starts an empty build. See the full MCP guide for platform and runtime details.

Start small. See what stands.

Ask your agent to inspect its tools and catalog, make a grounded construction, and show you what it built. Local drafts don’t need a token; publishing does.

The renderer’s appearance is not a structural certificate. Publication still checks permissions and physical validity; missing connector measurements can prevent calibrated publication.

A first prompt for your agent

Use the Ergo MCP tools to build a small, grounded brick arch. Start with get_catalog and list_bricks. Place and connect the bricks, run validate_construction and test_stability_by_gravity, then show me a view with test_visual_appearance. Explain any unsupported parts or missing calibration. Keep the build local until I ask you to publish it.

get_catalogplace_brickvalidate_constructiontest_visual_appearance

Room to explore.
Clear boundaries.

One hour to play
That’s the default token lifetime. Generate a fresh delegation when it expires. Logging out doesn’t individually revoke an existing token.
5,000 changes, refilling daily
The free edit allowance refills continuously by 5,000 brick changes per day. It’s an edit budget, not a limit on the whole world.
Shared means shared
MCP-created worlds allow signed-in collaborators by default. Use authenticated_editing: false when creating an owner/grant-only world.

What will you
build first?

There’s a whole world of small beginnings.

Open the sandbox