open-architect.vercel.app
OpenArchitect — describe a home. An agent asks follow-ups, then draws a schematic floor plan on a live canvas. The same tools are exposed to browser agents via WebMCP.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 4 · Act 24 · Transact 0 · Score: Not yet scored
Tool inspector
apply_layout
Replace rooms, openings, furniture, and the frontage street in one shot. Prefer this for the first draft. Include an entrance porch, a stairs area, and street.edge on the same side as the main door unless the user declined them. Room ids must be stable slugs (kitchen, bed-1, porch, stairs). Coordinates are meters on a 0.5 m grid.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
plot |
object | no | — |
street |
— | no | — |
rooms |
array | yes | — |
openings |
array | no | — |
furniture |
array | no | — |
Raw JSON schema
{
"type": "object",
"properties": {
"plot": {
"type": "object",
"properties": {
"width": {
"type": "number",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"width",
"height"
],
"additionalProperties": false
},
"street": {
"anyOf": [
{
"type": "object",
"properties": {
"edge": {
"type": "string",
"enum": [
"north",
"south",
"east",
"west"
],
"description": "Plot edge the street runs along — the same side as the main entrance"
},
"width": {
"description": "Street carriageway width in meters",
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"edge"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"rooms": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Stable id, e.g. kitchen or bed-1",
"type": "string",
"minLength": 1,
"maxLength": 48,
"pattern": "^[a-z][a-z0-9_-]*$"
},
"name": {
"type": "string",
"minLength": 1,
"description": "Human label shown on the canvas"
},
"type": {
"type": "string",
"enum": [
"bedroom",
"bathroom",
"kitchen",
"living",
"dining",
"hallway",
"closet",
"balcony",
"office",
"laundry",
"stairs",
"porch",
"other"
]
},
"x": {
"type": "number",
"description": "Meters from the plot's left (west) edge"
},
"y": {
"type": "number",
"description": "Meters from the plot's top (north) edge"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Room width in meters"
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Room height in meters"
}
},
"required": [
"name",
"type",
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"openings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 48,
"pattern": "^[a-z][a-z0-9_-]*$"
},
"kind": {
"type": "string",
"enum": [
"door",
"window"
]
},
"roomId": {
"type": "string",
"description": "Id of the room this opening belongs to"
},
"edge": {
"type": "string",
"enum": [
"north",
"south",
"east",
"west"
],
"description": "Wall: north is top of the canvas"
},
"offset": {
"type": "number",
"minimum": 0,
"description": "Meters along the edge from its start (west for N/S, north for E/W)"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Opening width in meters"
}
},
"required": [
"kind",
"roomId",
"edge",
"offset",
"width"
],
"additionalProperties": false
}
},
"furniture": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 48,
"pattern": "^[a-z][a-z0-9_-]*$"
},
"roomId": {
"type": "string"
},
"name": {
"type": "string",
"minLength": 1
},
"kind": {
"type": "string",
"minLength": 1,
"description": "bed, sofa, table, counter, toilet, sink, stove, wardrobe, desk, other"
},
"x": {
"type": "number",
"description": "Meters from the room's left edge"
},
"y": {
"type": "number",
"description": "Meters from the room's top edge"
},
"width": {
"type": "number",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"roomId",
"name",
"kind",
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
}
},
"required": [
"rooms"
],
"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.