floor-plan-pink.vercel.app
A shared conceptual floor-planning workspace where humans draw directly on the canvas and agents work the same plans through semantic WebMCP tools.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 2 · Act 9 · Transact 0 · Score: Not yet scored
Tool inspector
create_floorplan_from_requirements
Design a complete conceptual floor plan from a site area and a list of room requirements, and render it immediately in the shared workspace. Use this when the user wants a NEW layout designed ("I have 1,800 sq ft, I need 3 bedrooms, a maid room, storage, laundry, a closed kitchen, garden and parking") rather than a change to an existing plan. The engine zones the plot into public, private, service and outdoor areas, sizes rooms against design heuristics, adds internal doors and exterior windows, furnishes each room, and scores the result. With outputMode "append" (the default) the new plan appears below the existing plans so the human can compare, and their own plan is left untouched. Returns the plan id, room-by-room areas, requirement checklist and design rationale. Plans are conceptual, not construction documentation.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
totalAreaSqFt |
number | no | Total plot area in square feet, including garden and parking. Supply this when the user only knows their total area — the engine picks a sensible rectangular footprint (1,800 sq ft becomes roughly 45 x 40 ft). |
lotWidthFt |
number | no | Plot width in feet, if known. Use with lotDepthFt for a specific plot shape. |
lotDepthFt |
number | no | Plot depth in feet, if known. |
requirements |
object | yes | The rooms and features the dwelling must contain. |
priorities |
array | no | Ranked design priorities in the user's own words, e.g. ["space efficiency", "bedroom privacy", "natural daylight", "practical room adjacency"]. The layout engine maps these onto zoning, corridor width and area weighting, and reports back which ones it recognised. |
strategy |
string | no | Optional explicit layout strategy. Leave this out to let the engine choose from the stated priorities. Each strategy produces a genuinely different site organisation and interior zoning, not just a different label. |
name |
string | no | Optional plan name. Defaults to the next label in the series ("AI Option A", "AI Option B", ...). |
outputMode |
string | no | "append" adds a new plan below the existing ones so the human can compare before and after — this is the recommended default. "replace" overwrites the target plan in place and increments its version. |
planId |
string | no | Only used when outputMode is "replace": the plan to overwrite. |
Raw JSON schema
{
"type": "object",
"properties": {
"totalAreaSqFt": {
"type": "number",
"minimum": 250,
"description": "Total plot area in square feet, including garden and parking. Supply this when the user only knows their total area — the engine picks a sensible rectangular footprint (1,800 sq ft becomes roughly 45 x 40 ft)."
},
"lotWidthFt": {
"type": "number",
"minimum": 12,
"description": "Plot width in feet, if known. Use with lotDepthFt for a specific plot shape."
},
"lotDepthFt": {
"type": "number",
"minimum": 12,
"description": "Plot depth in feet, if known."
},
"requirements": {
"type": "object",
"description": "The rooms and features the dwelling must contain.",
"properties": {
"bedrooms": {
"type": "integer",
"minimum": 0,
"maximum": 6,
"description": "Number of bedrooms. The first is treated as the master and sized larger."
},
"bathrooms": {
"type": "integer",
"minimum": 0,
"maximum": 4,
"description": "Number of bathrooms. Defaults to 2 when three or more bedrooms are requested."
},
"maidRoom": {
"type": "boolean",
"description": "Include a maid / staff room in the service zone."
},
"storageRoom": {
"type": "boolean",
"description": "Include a dedicated store room."
},
"laundryRoom": {
"type": "boolean",
"description": "Include a laundry / utility room, placed next to the kitchen."
},
"kitchenType": {
"type": "string",
"enum": [
"closed",
"open"
],
"description": "\"closed\" gives the kitchen its own door; \"open\" leaves it open to the living/dining space."
},
"diningRoom": {
"type": "boolean",
"default": true,
"description": "Include a distinct dining area."
},
"garden": {
"type": "boolean",
"description": "Allocate garden area on the plot outside the building envelope."
},
"parkingSpaces": {
"type": "integer",
"minimum": 0,
"maximum": 4,
"description": "Number of car parking spaces to allocate on the plot."
},
"stairs": {
"type": "boolean",
"description": "Place a stair core (for a future upper floor)."
}
}
},
"priorities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ranked design priorities in the user's own words, e.g. [\"space efficiency\", \"bedroom privacy\", \"natural daylight\", \"practical room adjacency\"]. The layout engine maps these onto zoning, corridor width and area weighting, and reports back which ones it recognised."
},
"strategy": {
"type": "string",
"enum": [
"balanced",
"living-first",
"privacy-first",
"outdoor-first",
"storage-first"
],
"description": "Optional explicit layout strategy. Leave this out to let the engine choose from the stated priorities. Each strategy produces a genuinely different site organisation and interior zoning, not just a different label."
},
"name": {
"type": "string",
"description": "Optional plan name. Defaults to the next label in the series (\"AI Option A\", \"AI Option B\", ...)."
},
"outputMode": {
"type": "string",
"enum": [
"append",
"replace"
],
"default": "append",
"description": "\"append\" adds a new plan below the existing ones so the human can compare before and after — this is the recommended default. \"replace\" overwrites the target plan in place and increments its version."
},
"planId": {
"type": "string",
"description": "Only used when outputMode is \"replace\": the plan to overwrite."
}
},
"required": [
"requirements"
]
}
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