AI agents

An AI agent can build a tavern or kitchen here the same way you do: pick a level, place items, look at the result and adjust. When it's done it either saves a file for its person to load and mint in the builder, or mints it with its own wallet: free with a free mint, or paid in ETH on Robinhood Chain.

With Claude or another MCP agent

  1. Download builder-mcp.mjs (needs Node 18 or newer).
  2. Add it to your agent. In Claude Code:
    claude mcp add builder -- node /path/to/builder-mcp.mjs
  3. Ask it: "Build me a cozy tavern with the builder tools and save it."

To let it mint with a wallet, run npm install ethers in the same folder and give it the wallet's key:

claude mcp add builder -e BUILDER_PRIVATE_KEY=0x... -- node /path/to/builder-mcp.mjs

Use a wallet made just for the agent, holding only what it needs. The key stays on your computer: the tool only sends the server a signature.

With any agent: the web API

GET /api/agent returns the full guide as JSON: the levels, each room's size and floor and wall areas, and every item with its size.

Items are placed in room pixels, from the top-left corner of the room image. x, y is the item's centre, and later items are drawn on top.

POST /api/agent/render     {"level": "Tavern", "items": [{"item": "taverntable.png", "x": 300, "y": 400}], "grid": true}
  → a PNG preview (grid: true draws room coordinates), warnings in the X-Builder-Warnings header

POST /api/agent/check      {"level": "Tavern", "items": [...]}
  → {"warnings"}

POST /api/agent/save       {"level": "Tavern", "items": [...]}
  → {"filename", "file"}: save file as filename, then in the builder press LOAD and pick it

GET  /api/agent/free-mint?address=0x...&level=Tavern
  → {"free": true | false, "price"}: the price in ETH without a free mint

POST /api/agent/nonce      {"address": "0x..."}
  → {"message"}: sign it with the wallet (personal_sign)

POST /api/agent/mint       {"message", "signature", "level", "name", "artist", "items": [...], "pay"?: true}
  → free mint: {"tokenId", "url", "myBuildings"}
  → no free mint, pay: true: {"pay": {"to", "data", "value", "chainId", "rpcUrl", "deadline"}}

Each item is {"item", "x", "y", "side"?, "rotation"?, "flipHorizontal"?, "flipVertical"?}. rotation is in degrees, clockwise; flipVertical turns an item upside down.

Which wall: surface and side

Every item in the guide has a surface and a side, so you don't have to judge the room's angles from the pictures:

Don't work out flips yourself: give each placed item "side": "left" or "side": "right" for the wall you want it on or along, and it's flipped for you when needed. "front" items are never flipped. A preview warns if a wall item sits on one wall but is turned for the other. Each item's place says the same in words.

Small things with surface "top" go after the furniture they sit on, so they're drawn on top. flipHorizontal still mirrors an item by hand, but side wins if both are given. flipVertical turns an item upside down. You almost never want that, and a preview warns about it.

Lining items up

x, y is an item's centre, but items line up by their bottom corners. Each item in the guide has corners.bottomLeft and bottomRight: offsets from its centre to the bottom of its leftmost and rightmost columns. To stand a door, fireplace or bar where the floor meets the left wall, put its bottom-left corner on the bottom edge of the left_wall area: centre = that point − bottomLeft. Flipped onto the right wall, the far-right bottom corner is at (−bottomLeft[0], bottomLeft[1]).

The floor and wall areas follow the drawn seams. The thick strip under the floor's front edges is the side of the floor, not floor: things standing on the floor go wholly inside the floor area, round ones like barrels included. Positions are in room pixels, and the tavern and kitchen art is drawn one pixel per room pixel (the Remembrance Day items in 4×4 blocks).

Building beyond the room

Items can go outside the room on purpose, and be stacked to make new things:

List what's underneath first, so it's drawn below what rests on it.

Checking a build

Each preview lists warnings in its X-Builder-Warnings header, and POST /api/agent/check returns them as {"warnings"}. They point out upside-down items, items standing outside the room with nothing under their bottom edge (neither the room nor an item listed before), and items cut off at the edge of the picture. They're notes, not errors: going outside the room on purpose is fine. They don't judge looks, so check the preview too: taps and small things sit wholly on their surface, and furniture stays clear of doors.

Using the builder by hand

Free and paid mints

Every tavern a wallet holds that another wallet minted, like a Genesis tavern, gives it one free tavern mint (kitchens work the same way).

Without a free mint, an agent can pay the mint price in ETH on Robinhood Chain from its own wallet. With "pay": true, /api/agent/mint returns a transaction for the wallet to send as it is, before the deadline; the build is minted to the wallet when it confirms. The MCP tool does this for you with mint_build and pay: true. The wallet needs the price plus a little gas. An agent should only pay when its person has agreed; otherwise it saves the build and its person mints it in the builder.

Agents are limited to 60 previews and saves per 10 minutes and 10 mint requests per hour.