Zovo Floor Plan
Server Details
Turns room sizes into a floor plan drawn to scale, with the area of each room and the total area.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools split cleanly along validate vs. generate: check_floor_plan explicitly says it does not draw, and make_floor_plan explicitly says it refuses invalid input rather than reporting problems. Their descriptions even cross-reference each other (same rooms/doors/windows input), so an agent can route 'why was this refused?' to check and 'draw this' to make without confusion.
Both names follow the identical verb_noun snake_case pattern (check_floor_plan, make_floor_plan) and share the same noun, reinforcing that they operate on the same resource. There are no deviations or mixed conventions.
Two tools is borderline thin for a floor-plan domain that also implies editing, exporting, or loading existing plans. The pair is well-chosen and complementary, but the surface feels minimal rather than comfortably scoped.
The generate/validate pair covers the core lifecycle: produce a plan with SVG/PDF/CSV output and diagnose overlaps, bad openings, and disconnected rooms. Gaps are minor (no incremental edit or reload of an existing plan), and agents can work around them by resubmitting the full room list to make_floor_plan.
Available Tools
2 toolscheck_floor_planCheck floor planARead-onlyIdempotentInspect
Use this when the user wants to check a room layout before drawing it, or asks why a floor plan was refused, for example "do these rooms overlap?" or "what is the total area of these rooms?". Takes the same rooms, doors and windows as make_floor_plan. Returns the area table, the sum of room areas, the floor area actually covered, and a list of problems: overlapping rooms with the overlap area, doors or windows that run past a wall end, L-shaped parts that overlap or do not touch, and rooms that do not touch the rest. Does not draw the plan and does not check building codes.
| Name | Required | Description | Default |
|---|---|---|---|
| doors | No | Doors, up to 60, e.g. [{"room":"Living","wall":"south","offset":1,"width":0.9}]. Drawn as a gap with a swing arc. | |
| rooms | Yes | Rooms as rectangles, up to 40. A room with no position goes to the right of the previous room. Example: [{"name":"Living","width":5,"length":4},{"name":"Kitchen","width":3,"length":4,"right_of":"Living"}]. | |
| title | No | Plan title, e.g. "Ground floor". Up to 80 characters. | |
| units | No | Unit for plain numbers. m (default), cm or mm: a metric plan, sizes like 3.5, "350 cm" or "3500 mm"; ft or in: a feet-and-inches plan, sizes like 12'6", "12 ft 6 in", "12.5 ft" or "150 in". With cm, a plain 90 is 90 cm; with in, a plain 30 is 30 inches. | |
| windows | No | Windows, up to 60, e.g. [{"room":"Kitchen","wall":"east","offset":1,"width":1.2}]. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rooms | Yes | |
| title | Yes | |
| units | Yes | |
| problems | Yes | |
| warnings | Yes | |
| area_unit | Yes | |
| plan_size | Yes | |
| checks_run | Yes | |
| room_count | Yes | |
| covered_area | Yes | |
| counted_twice | Yes | |
| preview_count | No | |
| problem_count | Yes | |
| sum_of_room_areas | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavior: exactly what the returned area table, covered area, and problem list contain, including overlap area and wall-run-past-end cases. It does not describe auth or rate limits, but those are not relevant here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the use case, then the input relationship, then outputs and exclusions. Every sentence adds distinct value despite the dense single paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a complex read-only validation tool. It covers inputs by reference to make_floor_plan, summarizes the output schema's key results, and clearly bounds what it does not check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents rooms, doors, windows, units, and title thoroughly. The description adds only the useful relationship that it takes the same rooms, doors, and windows as make_floor_plan, without adding parameter-specific syntax or semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: check a floor plan. It names the sibling make_floor_plan and clarifies this tool validates rather than draws, so an agent can distinguish it from drawing the plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it: before drawing a plan, or to diagnose a refusal, with concrete example questions. It also states when not to use it for drawing or code compliance, routing the agent to the sibling make_floor_plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_floor_planMake floor planARead-onlyIdempotentInspect
Use this when the user wants a floor plan, room layout or apartment plan drawn to scale from room sizes, for example "draw a floor plan: living 5x4 m, kitchen 3x4 m next to it" or "plan of my house in feet". Takes rooms as rectangles (width east-west, length north-south) in metres or feet and inches, placed by x/y or right_of/below/left_of/above another room, plus optional doors and windows by wall and offset, a scale (auto, 1:50, 1:100, 1/4in=1ft) and a page size. Returns each room area, the total area, an interactive plan, and SVG, PDF and CSV downloads. Refuses overlapping rooms and openings past a wall end, naming them. Does not draw curved walls, stairs, furniture or wall thickness, and does not read images or files.
| Name | Required | Description | Default |
|---|---|---|---|
| doors | No | Doors, up to 60, e.g. [{"room":"Living","wall":"south","offset":1,"width":0.9}]. Drawn as a gap with a swing arc. | |
| rooms | Yes | Rooms as rectangles, up to 40. A room with no position goes to the right of the previous room. Example: [{"name":"Living","width":5,"length":4},{"name":"Kitchen","width":3,"length":4,"right_of":"Living"}]. | |
| scale | No | auto (default: the largest standard scale that fits one page), a ratio like "1:50" or "1:100", or an architect scale like "1/4in=1ft" or "1/8in=1ft". | |
| title | No | Plan title, e.g. "Ground floor". Up to 80 characters. | |
| units | No | Unit for plain numbers. m (default), cm or mm: a metric plan, sizes like 3.5, "350 cm" or "3500 mm"; ft or in: a feet-and-inches plan, sizes like 12'6", "12 ft 6 in", "12.5 ft" or "150 in". With cm, a plain 90 is 90 cm; with in, a plain 30 is 30 inches. | |
| windows | No | Windows, up to 60, e.g. [{"room":"Kitchen","wall":"east","offset":1,"width":1.2}]. | |
| page_size | No | PDF and SVG paper: auto (default: A4 for metres, Letter for feet), a4, a3, letter or tabloid. Orientation is chosen to fit. | |
| north_arrow | No | Draw a north arrow pointing up (default true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| doors | Yes | |
| rooms | Yes | |
| scale | Yes | |
| title | Yes | |
| units | Yes | |
| checks | Yes | |
| windows | Yes | |
| warnings | Yes | |
| area_unit | Yes | |
| downloads | Yes | |
| plan_size | Yes | |
| room_count | Yes | |
| total_area | Yes | |
| label_check | Yes | |
| scale_check | Yes | |
| preview_count | No | |
| total_area_text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a read-only, idempotent, closed-world operation, and the description adds substantial context on top: it discloses the outputs produced (areas, interactive plan, SVG/PDF/CSV), error behavior (refuses overlapping rooms and openings past a wall end, naming them), and explicit capability limits (no curved walls, stairs, furniture, wall thickness, no image/file input).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph that is front-loaded with the trigger and examples, then capabilities, then return values, then refusals and limitations. Each sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 8-parameter generation tool, the description covers inputs at a high level, the outputs (even though an output schema exists), failure modes, and scope boundaries. An agent has everything needed to decide to call it and to construct a plausible argument set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is already documented in detail, and the description largely restates that (width east-west, length north-south, x/y vs right_of/below/left_of/above, doors/windows by wall and offset, scale forms). It confirms the intended mental model but adds little syntax or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and artifact ("draw a floor plan to scale from room sizes") with two concrete example utterances, and the surrounding text makes clear this is a generation tool rather than a validator, distinguishing it from check_floor_plan without naming it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opening clause "Use this when the user wants a floor plan, room layout or apartment plan" plus sample phrasings gives a clear trigger condition. It never names the sibling check_floor_plan or states when-not to use this, so the routing guidance stops short of explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
check_floor_plan - First observed
make_floor_plan
Related MCP Connectors
Room planning to scale from your AI: it places furniture, Roomproof checks walkways and door swings.
Design and change floor plans to scale in 2D and 3D: walls, rooms, roofs, furniture and gardens.
Floor plan to measured 3D model: rooms and areas, furnishing, roof, solar, site and share links.
Floor plans in real mm: doors, windows, fixtures; validate, render, elevations, sections, storeys.
Related MCP Servers
- AlicenseAqualityBmaintenanceRenders architectural floor plans and site plans as SVG in blueprint or whiteprint styles, following real drawing conventions with precise geometry.3MIT
- AlicenseAqualityBmaintenanceOpen-source home design and floor plan editor for AI agents: draw walls and rooms, place furniture, doors and windows, build kitchens and wardrobes, check lighting, ergonomics, electrical and plumbing against building codes, and render the plan, 3D views or photorealistic images. Runs in the desktop app, the browser or the hosted server, and every change can be undone.5737Apache 2.0
- FlicenseNot gradedqualityBmaintenanceFloor plans, elevations and sections for agents. Draw a room in real millimetres, place doors, windows and tables, validate with typed errors, render deterministic SVG. Free key, no approval.-
- AlicenseNot gradedqualityDmaintenanceEnables users to create and edit 3D floor plans conversationally, describing rooms and layouts or uploading DWG/PDF drawings, then view them in 2D/3D via a live link.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.