mcp-five-puce.vercel.app
A floor planner where the page owns the geometry and the agent owns the intent. 28 WebMCP tools, 28 rules, and a page that refuses a layout it knows is wrong.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 2 · Act 11 · Transact 0 · Score: Not yet scored
Tool inspector
find_space
Where a footprint fits: up to 5 positions {x,y,rot} that break no rule. NEVER invent coordinates — the page owns the geometry. Pass `id` to re-place something already here, `type` for something new, or raw `w`/`h`. Every call is judged against the room AS IT IS NOW, so placing several pieces needs `ignore` (ids you will move anyway) and `plan` (spots already chosen), or they will overlap. `caveat` = the free spots cut a walkway. `least_bad` = nothing legal exists; set something aside.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
type |
string | no | — |
w |
number | no | — |
h |
number | no | — |
prefer |
string | no | — |
near |
string | no | item id to stay close to |
facing |
string | no | item id the front should face (e.g. sofa facing tv) |
id |
string | no | an existing item you want to RE-place — its size and type are taken from it and its current position is ignored |
ignore |
array | no | item ids to treat as not in the room, because you are about to move them too |
plan |
array | no | placements you have already decided but not applied yet — pass them and the page will not hand you a spot that sits on top of one |
Raw JSON schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"sofa",
"armchair",
"tv_unit",
"coffee_table",
"dining_table",
"chair",
"desk",
"bed_double",
"bed_single",
"wardrobe",
"bookshelf",
"plant",
"lamp",
"rug",
"counter",
"toilet",
"basin",
"shower",
"bathtub",
"sink",
"hob",
"fridge",
"blind",
"ceiling_light",
"pendant",
"spotlight_bar",
"chandelier",
"downlights",
"cove_strip",
"wall_sconce",
"track_light"
]
},
"w": {
"type": "number"
},
"h": {
"type": "number"
},
"prefer": {
"type": "string",
"enum": [
"wall",
"corner",
"center",
"near_window",
"near_outlet",
"any"
]
},
"near": {
"type": "string",
"description": "item id to stay close to"
},
"facing": {
"type": "string",
"description": "item id the front should face (e.g. sofa facing tv)"
},
"id": {
"type": "string",
"description": "an existing item you want to RE-place — its size and type are taken from it and its current position is ignored"
},
"ignore": {
"type": "array",
"items": {
"type": "string"
},
"description": "item ids to treat as not in the room, because you are about to move them too"
},
"plan": {
"type": "array",
"description": "placements you have already decided but not applied yet — pass them and the page will not hand you a spot that sits on top of one",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"sofa",
"armchair",
"tv_unit",
"coffee_table",
"dining_table",
"chair",
"desk",
"bed_double",
"bed_single",
"wardrobe",
"bookshelf",
"plant",
"lamp",
"rug",
"counter",
"toilet",
"basin",
"shower",
"bathtub",
"sink",
"hob",
"fridge",
"blind",
"ceiling_light",
"pendant",
"spotlight_bar",
"chandelier",
"downlights",
"cove_strip",
"wall_sconce",
"track_light"
]
},
"w": {
"type": "number"
},
"h": {
"type": "number"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"rot": {
"type": "number",
"enum": [
0,
90,
180,
270
]
}
},
"required": [
"x",
"y"
]
}
}
},
"required": []
}
Similar websites
reloadium.com
Paste a topic, URL, or PDF/TXT/MD — get a multi-episode AI podcast with audio, transcripts, timelines and quizzes. 60+ languages.
api.lmm.best
Connect AI models, tools and applications with LMM Forge. Explore model access, developer guides and open-source collaboration.
deskintab.dgkhan08.workers.dev
An operating system in your browser, where you and your AI agent share apps, files, and projects through WebMCP.
webmcp.agentsdesk.dev
Meridian Ops