roomwright-phi.vercel.app
A 3D room planner where a person and an AI agent lay out a real room together.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 5 · Act 5 · Transact 1 · Score: Not yet scored
Tool inspector
create_room
Design a new room from scratch and get its URL. Give the floor outline as a clockwise list of [x_in, z_in] corners in inches starting at [0, 0] (the north-west corner) with only horizontal and vertical edges — rectangles, L- and U-shapes, up to 200 ft a side — plus optional ceiling height, budget, and fixtures (doors with swing arcs, windows with sills, radiators, closets, columns). The new room starts empty; open its URL, then use place_item and the other tools to furnish it. Set open_in_this_tab to switch this tab to the new room after the result is returned.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
name |
string | no | room name, max 80 characters |
outline |
array | yes | clockwise corners [x_in, z_in], first must be [0, 0]; 4 to 64 vertices, axis-aligned edges only |
ceiling_height_in |
integer | no | ceiling height in inches, 72 to 240 (default 96) |
budget_cents |
integer | no | spending cap for the room in US cents |
fixtures |
array | no | wall features the engine must respect (each may carry a floor index) |
floors |
integer | no | number of storeys, 1 to 50 (default 1). All storeys share the outline; put fixtures on a storey with fixture.floor |
open_in_this_tab |
boolean | no | navigate this tab to the new room once the result has been returned (default false) |
Raw JSON schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "room name, max 80 characters"
},
"outline": {
"type": "array",
"description": "clockwise corners [x_in, z_in], first must be [0, 0]; 4 to 64 vertices, axis-aligned edges only",
"minItems": 4,
"maxItems": 64,
"items": {
"type": "array",
"items": {
"type": "integer"
},
"minItems": 2,
"maxItems": 2
}
},
"ceiling_height_in": {
"type": "integer",
"description": "ceiling height in inches, 72 to 240 (default 96)"
},
"budget_cents": {
"type": "integer",
"description": "spending cap for the room in US cents"
},
"fixtures": {
"type": "array",
"description": "wall features the engine must respect (each may carry a floor index)",
"maxItems": 64,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "optional stable id, e.g. fx_door; generated when omitted"
},
"kind": {
"type": "string",
"enum": [
"door",
"window",
"radiator",
"closet",
"column"
],
"description": "what the fixture is"
},
"floor": {
"type": "integer",
"description": "storey index, 0 = ground (default 0)"
},
"label": {
"type": "string",
"description": "display label, e.g. \"Entry door\""
},
"x_in": {
"type": "integer",
"description": "inches from the west wall to the north-west corner of the fixture footprint"
},
"z_in": {
"type": "integer",
"description": "inches from the north wall to the north-west corner of the fixture footprint"
},
"width_in": {
"type": "integer",
"description": "footprint size along x"
},
"depth_in": {
"type": "integer",
"description": "footprint size along z (a door or window on a north/south wall is ~3 deep)"
},
"y_in": {
"type": "integer",
"description": "bottom height above the floor; windows default to a 30 inch sill"
},
"height_in": {
"type": "integer",
"description": "vertical size; windows default 48, radiators 24"
},
"wall": {
"type": "string",
"enum": [
"north",
"south",
"east",
"west"
],
"description": "wall the fixture is on"
},
"swing_in": {
"type": "integer",
"description": "doors only: swing radius in inches (default 32)"
},
"swing_dir": {
"type": "string",
"enum": [
"cw",
"ccw"
],
"description": "doors only: hinge side"
},
"clearance_front_in": {
"type": "integer",
"description": "override the clearance kept free in front (closet 24, radiator 6 by default)"
},
"clearance_reason": {
"type": "string",
"description": "why that clearance exists, shown in rejections"
}
},
"required": [
"kind",
"x_in",
"z_in",
"width_in",
"depth_in"
],
"additionalProperties": false
}
},
"floors": {
"type": "integer",
"description": "number of storeys, 1 to 50 (default 1). All storeys share the outline; put fixtures on a storey with fixture.floor"
},
"open_in_this_tab": {
"type": "boolean",
"description": "navigate this tab to the new room once the result has been returned (default false)"
}
},
"required": [
"outline"
],
"additionalProperties": false
}
Similar websites
econsor.de
German digital agency building portals, e-commerce sites and online marketing, combining strategy, design and AI to grow clients' visibility and customer base.
inkframe-eta.vercel.app
Browser-native Elah video editor for 9:16 and 16:9 exports
agentdesk-demo.vercel.app
Meridian Ops
eworker.ca
E-Worker is business infrastructure powered by AI, with focused apps and connected business work.