← WebMCP Directory

Tool tree

taxis-five.vercel.app

Productivity & BusinessTools verified
Website
Taxis: Design physical spaces with your agent
Explore capabilities
    get_floorplan_stateAnswer

    Reads the complete floor plan state: plot size, all rooms, coordinates, dimensions, doors, windows, furniture, square meterage, and plot coverage.

    View tool JSON
    {
      "name": "get_floorplan_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Reads the complete floor plan state: plot size, all rooms, coordinates, dimensions, doors, windows, furniture, square meterage, and plot coverage.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_plot_dimensionsAction

    Sets or updates the land plot boundary dimensions (width and depth in meters or feet).

    View tool JSON
    {
      "name": "set_plot_dimensions",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets or updates the land plot boundary dimensions (width and depth in meters or feet).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "width": {
            "type": "number",
            "description": "Width of plot in meters"
          },
          "height": {
            "type": "number",
            "description": "Depth/height of plot in meters"
          },
          "unit": {
            "type": "string",
            "enum": [
              "m",
              "ft"
            ],
            "description": "Unit (m or ft)"
          }
        },
        "required": [
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    }
    add_roomAction

    Adds a new room with custom name, type, dimensions, and optional coordinates or relative placement.

    View tool JSON
    {
      "name": "add_room",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds a new room with custom name, type, dimensions, and optional coordinates or relative placement.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Room name (e.g. \"Master Bedroom\", \"Kitchen\", \"Bedroom 2\")"
          },
          "type": {
            "type": "string",
            "enum": [
              "bedroom",
              "master_bedroom",
              "bathroom",
              "kitchen",
              "living_room",
              "dining_room",
              "garage",
              "hallway",
              "office",
              "balcony",
              "patio",
              "laundry",
              "custom"
            ]
          },
          "width": {
            "type": "number",
            "description": "Width in meters (defaults to standard preset size)"
          },
          "height": {
            "type": "number",
            "description": "Height in meters (defaults to standard preset size)"
          },
          "x": {
            "type": "number",
            "description": "Optional exact X coordinate in meters"
          },
          "y": {
            "type": "number",
            "description": "Optional exact Y coordinate in meters"
          },
          "adjacent_to": {
            "type": "string",
            "description": "Optional name/type of room to place this beside"
          },
          "position": {
            "type": "string",
            "enum": [
              "right_of",
              "left_of",
              "above",
              "below"
            ]
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
    resize_roomAction

    Resizes an existing room by name or ID (e.g. "Make Master Bedroom 4.5m × 4m").

    View tool JSON
    {
      "name": "resize_room",
      "kind": "act",
      "impl": "imperative",
      "description": "Resizes an existing room by name or ID (e.g. \"Make Master Bedroom 4.5m × 4m\").",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Name, type, or ID of the room"
          },
          "width": {
            "type": "number",
            "description": "New width in meters"
          },
          "height": {
            "type": "number",
            "description": "New height in meters"
          }
        },
        "required": [
          "room_name_or_id",
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    }
    move_roomAction

    Moves a room to absolute coordinates (x, y) or aligns it adjacent to another room.

    View tool JSON
    {
      "name": "move_room",
      "kind": "act",
      "impl": "imperative",
      "description": "Moves a room to absolute coordinates (x, y) or aligns it adjacent to another room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Name or ID of room to move"
          },
          "x": {
            "type": "number",
            "description": "Target X coordinate in meters"
          },
          "y": {
            "type": "number",
            "description": "Target Y coordinate in meters"
          },
          "adjacent_to": {
            "type": "string",
            "description": "Name or type of reference room to snap beside"
          },
          "position": {
            "type": "string",
            "enum": [
              "right_of",
              "left_of",
              "above",
              "below"
            ]
          }
        },
        "required": [
          "room_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    rotate_roomAction

    Rotates a room by 90 degrees (swapping width and height).

    View tool JSON
    {
      "name": "rotate_room",
      "kind": "act",
      "impl": "imperative",
      "description": "Rotates a room by 90 degrees (swapping width and height).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          }
        },
        "required": [
          "room_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    duplicate_roomAction

    Clones an existing room and places a duplicate adjacent to it.

    View tool JSON
    {
      "name": "duplicate_room",
      "kind": "act",
      "impl": "imperative",
      "description": "Clones an existing room and places a duplicate adjacent to it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          }
        },
        "required": [
          "room_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    delete_roomSensitive Action

    Deletes a room along with its attached doors, windows, and furniture.

    View tool JSON
    {
      "name": "delete_room",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes a room along with its attached doors, windows, and furniture.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          }
        },
        "required": [
          "room_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    add_doorAction

    Adds a door (single, double, sliding, pocket) to a wall of a room.

    View tool JSON
    {
      "name": "add_door",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds a door (single, double, sliding, pocket) to a wall of a room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          },
          "wall": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "single_door",
              "double_door",
              "sliding_door",
              "pocket_door"
            ]
          },
          "offset": {
            "type": "number",
            "description": "Distance in meters along the wall"
          },
          "width": {
            "type": "number",
            "description": "Door width in meters (e.g. 0.9 or 1.5)"
          }
        },
        "required": [
          "room_name_or_id",
          "wall"
        ],
        "additionalProperties": false
      }
    }
    flip_door_swingAction

    Toggles a door swing between inside and outside.

    View tool JSON
    {
      "name": "flip_door_swing",
      "kind": "act",
      "impl": "imperative",
      "description": "Toggles a door swing between inside and outside.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "door_id": {
            "type": "string",
            "description": "ID of the door opening"
          }
        },
        "required": [
          "door_id"
        ],
        "additionalProperties": false
      }
    }
    add_windowAction

    Adds a window to a wall of a room.

    View tool JSON
    {
      "name": "add_window",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds a window to a wall of a room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          },
          "wall": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "window",
              "bay_window"
            ]
          },
          "offset": {
            "type": "number",
            "description": "Distance in meters along the wall"
          },
          "width": {
            "type": "number",
            "description": "Window width in meters (e.g. 1.2 or 2.0)"
          }
        },
        "required": [
          "room_name_or_id",
          "wall"
        ],
        "additionalProperties": false
      }
    }
    add_fixtureAction

    Places furniture or fixtures (stairs, kitchen counter/island, sink, toilet, shower, bathtub, king bed, sofa, dining table, desk, car) into a room.

    View tool JSON
    {
      "name": "add_fixture",
      "kind": "act",
      "impl": "imperative",
      "description": "Places furniture or fixtures (stairs, kitchen counter/island, sink, toilet, shower, bathtub, king bed, sofa, dining table, desk, car) into a room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          },
          "type": {
            "type": "string",
            "enum": [
              "stairs",
              "kitchen_counter",
              "kitchen_island",
              "sink",
              "toilet",
              "shower",
              "bathtub",
              "bed_king",
              "bed_single",
              "wardrobe",
              "sofa",
              "dining_table",
              "desk",
              "car"
            ]
          },
          "name": {
            "type": "string",
            "description": "Optional custom display label"
          },
          "color": {
            "type": "string",
            "description": "Optional color (hex code e.g. \"#10b981\" or name e.g. \"emerald\", \"gold\", \"dark\", \"blue\", \"amber\", \"rose\")"
          },
          "x": {
            "type": "number",
            "description": "Relative X offset in meters"
          },
          "y": {
            "type": "number",
            "description": "Relative Y offset in meters"
          },
          "rotation": {
            "type": "number",
            "enum": [
              0,
              90,
              180,
              270
            ]
          }
        },
        "required": [
          "room_name_or_id",
          "type"
        ],
        "additionalProperties": false
      }
    }
    resize_fixtureAction

    Resizes a piece of furniture or fixture (e.g. make dining table 2.4m x 1.0m).

    View tool JSON
    {
      "name": "resize_fixture",
      "kind": "act",
      "impl": "imperative",
      "description": "Resizes a piece of furniture or fixture (e.g. make dining table 2.4m x 1.0m).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fixture_name_or_id": {
            "type": "string",
            "description": "Fixture name or ID"
          },
          "width": {
            "type": "number",
            "description": "Width in meters"
          },
          "height": {
            "type": "number",
            "description": "Length/depth in meters"
          }
        },
        "required": [
          "fixture_name_or_id",
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    }
    rotate_fixtureAction

    Rotates an object/furniture item by 90 degrees.

    View tool JSON
    {
      "name": "rotate_fixture",
      "kind": "act",
      "impl": "imperative",
      "description": "Rotates an object/furniture item by 90 degrees.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fixture_name_or_id": {
            "type": "string",
            "description": "Fixture name or ID"
          }
        },
        "required": [
          "fixture_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    delete_fixtureSensitive Action

    Deletes a piece of furniture or fixture.

    View tool JSON
    {
      "name": "delete_fixture",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes a piece of furniture or fixture.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fixture_name_or_id": {
            "type": "string",
            "description": "Fixture name or ID"
          }
        },
        "required": [
          "fixture_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    auto_arrange_floorplanAction

    Arranges multiple rooms automatically into a clean architectural floor plan layout.

    View tool JSON
    {
      "name": "auto_arrange_floorplan",
      "kind": "act",
      "impl": "imperative",
      "description": "Arranges multiple rooms automatically into a clean architectural floor plan layout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "rooms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "bedroom",
                    "master_bedroom",
                    "bathroom",
                    "kitchen",
                    "living_room",
                    "dining_room",
                    "garage",
                    "hallway",
                    "office"
                  ]
                },
                "width": {
                  "type": "number"
                },
                "height": {
                  "type": "number"
                }
              },
              "required": [
                "name",
                "type"
              ]
            }
          }
        },
        "required": [
          "rooms"
        ],
        "additionalProperties": false
      }
    }
    calculate_plot_complianceAction

    Evaluates genuine architectural zoning coverage (FAR), distinguishing gross conditioned built footprint from outdoor/landscaping zones (parking, garden, courtyard, patio), and checks setbacks.

    View tool JSON
    {
      "name": "calculate_plot_compliance",
      "kind": "act",
      "impl": "imperative",
      "description": "Evaluates genuine architectural zoning coverage (FAR), distinguishing gross conditioned built footprint from outdoor/landscaping zones (parking, garden, courtyard, patio), and checks setbacks.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    clear_floorplanAction

    Clears all rooms and furniture to start fresh on a blank plot.

    View tool JSON
    {
      "name": "clear_floorplan",
      "kind": "act",
      "impl": "imperative",
      "description": "Clears all rooms and furniture to start fresh on a blank plot.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    add_custom_shapeAction

    Adds a generic parametric shape entity (rectangle, circle, l_shape, u_shape, t_shape, v_shape) with custom name, dimensions, and coordinates. Use for custom stages, booths, reception counters, tables, or equipment.

    View tool JSON
    {
      "name": "add_custom_shape",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds a generic parametric shape entity (rectangle, circle, l_shape, u_shape, t_shape, v_shape) with custom name, dimensions, and coordinates. Use for custom stages, booths, reception counters, tables, or equipment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Custom name/label for the shape (e.g. \"Main Keynote V-Stage\", \"Gold Sponsor Booth\", \"L-Shaped Reception\")"
          },
          "geometry": {
            "type": "string",
            "enum": [
              "rectangle",
              "circle",
              "l_shape",
              "u_shape",
              "t_shape",
              "v_shape"
            ],
            "description": "Geometric form of the shape entity"
          },
          "width": {
            "type": "number",
            "description": "Width / diameter of the shape in meters"
          },
          "height": {
            "type": "number",
            "description": "Length / depth of the shape in meters"
          },
          "x": {
            "type": "number",
            "description": "X position on canvas/room in meters"
          },
          "y": {
            "type": "number",
            "description": "Y position on canvas/room in meters"
          },
          "color": {
            "type": "string",
            "description": "Optional color (hex code e.g. \"#10b981\" or name e.g. \"emerald\", \"gold\", \"dark\", \"blue\", \"amber\", \"rose\")"
          },
          "rotation": {
            "type": "number",
            "enum": [
              0,
              90,
              180,
              270
            ],
            "description": "Rotation in degrees"
          },
          "room_name_or_id": {
            "type": "string",
            "description": "Optional room/zone name to place inside"
          }
        },
        "required": [
          "name",
          "geometry",
          "width",
          "height"
        ],
        "additionalProperties": false
      }
    }
    reshape_objectAction

    Remodels or resizes any object/fixture/shape on the canvas (change geometry, width, depth, rotation, color, or name).

    View tool JSON
    {
      "name": "reshape_object",
      "kind": "act",
      "impl": "imperative",
      "description": "Remodels or resizes any object/fixture/shape on the canvas (change geometry, width, depth, rotation, color, or name).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name_or_id": {
            "type": "string",
            "description": "Name or ID of the object/shape to remodel"
          },
          "new_name": {
            "type": "string",
            "description": "Optional new label/name"
          },
          "new_color": {
            "type": "string",
            "description": "Optional new color (hex e.g. \"#10b981\" or name e.g. \"emerald\", \"gold\", \"blue\", \"dark\")"
          },
          "new_geometry": {
            "type": "string",
            "enum": [
              "rectangle",
              "circle",
              "l_shape",
              "u_shape",
              "t_shape",
              "v_shape"
            ],
            "description": "New geometric shape form"
          },
          "new_width": {
            "type": "number",
            "description": "New width in meters"
          },
          "new_height": {
            "type": "number",
            "description": "New depth/length in meters"
          },
          "new_rotation": {
            "type": "number",
            "enum": [
              0,
              90,
              180,
              270
            ],
            "description": "New rotation angle"
          }
        },
        "required": [
          "object_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    rename_elementAction

    Renames any room, shape, or furniture item on the canvas.

    View tool JSON
    {
      "name": "rename_element",
      "kind": "act",
      "impl": "imperative",
      "description": "Renames any room, shape, or furniture item on the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "element_name_or_id": {
            "type": "string",
            "description": "Current name or ID of the room or object"
          },
          "new_name": {
            "type": "string",
            "description": "The new name to assign"
          }
        },
        "required": [
          "element_name_or_id",
          "new_name"
        ],
        "additionalProperties": false
      }
    }
    batch_create_grid_layoutAction

    Generates a matrix/grid of N items with designated rows, columns, and aisle spacing. Perfect for creating 20-50 exhibition booths, banquet tables, or workstation pods in seconds.

    View tool JSON
    {
      "name": "batch_create_grid_layout",
      "kind": "act",
      "impl": "imperative",
      "description": "Generates a matrix/grid of N items with designated rows, columns, and aisle spacing. Perfect for creating 20-50 exhibition booths, banquet tables, or workstation pods in seconds.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item_type": {
            "type": "string",
            "enum": [
              "booth_standard",
              "booth_sponsor",
              "round_banquet_table",
              "workstation_cluster",
              "desk",
              "custom_shape"
            ],
            "description": "Type of item to replicate in grid"
          },
          "item_name_prefix": {
            "type": "string",
            "description": "Naming prefix (e.g. \"Booth\", \"Table\", \"Station\")"
          },
          "count": {
            "type": "number",
            "description": "Total number of items to create (e.g. 30)"
          },
          "columns": {
            "type": "number",
            "description": "Number of columns in the grid (e.g. 5)"
          },
          "item_width": {
            "type": "number",
            "description": "Width of each item in meters (e.g. 3.0)"
          },
          "item_height": {
            "type": "number",
            "description": "Depth/height of each item in meters (e.g. 3.0)"
          },
          "aisle_x": {
            "type": "number",
            "description": "Horizontal aisle clearance between columns in meters (e.g. 2.0)"
          },
          "aisle_y": {
            "type": "number",
            "description": "Vertical aisle clearance between rows in meters (e.g. 2.0)"
          },
          "start_x": {
            "type": "number",
            "description": "Start X coordinate in meters (default: 2.0)"
          },
          "start_y": {
            "type": "number",
            "description": "Start Y coordinate in meters (default: 2.0)"
          }
        },
        "required": [
          "item_type",
          "count",
          "columns",
          "item_width",
          "item_height"
        ],
        "additionalProperties": false
      }
    }
    remodel_polygon_verticesAction

    Remodels and sculpts any shape into custom polygon coordinates by setting exact (x, y) vertices.

    View tool JSON
    {
      "name": "remodel_polygon_vertices",
      "kind": "act",
      "impl": "imperative",
      "description": "Remodels and sculpts any shape into custom polygon coordinates by setting exact (x, y) vertices.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name_or_id": {
            "type": "string",
            "description": "Name or ID of object to reshape"
          },
          "vertices": {
            "type": "array",
            "description": "Array of {x, y} coordinate points in meters relative to object origin",
            "items": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y"
              ]
            }
          }
        },
        "required": [
          "object_name_or_id",
          "vertices"
        ],
        "additionalProperties": false
      }
    }
    add_polygon_vertexAction

    Adds a new corner point to a polygon shape so it can be remodeled with more detail.

    View tool JSON
    {
      "name": "add_polygon_vertex",
      "kind": "act",
      "impl": "imperative",
      "description": "Adds a new corner point to a polygon shape so it can be remodeled with more detail.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name_or_id": {
            "type": "string",
            "description": "Name or ID of object"
          },
          "after_index": {
            "type": "number",
            "description": "Index after which to insert new vertex"
          }
        },
        "required": [
          "object_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    curve_room_wallsAction

    Sets curved architectural walls or rounded corners for a space/room (radius in meters, 0.0 for sharp to 3.0 for curved).

    View tool JSON
    {
      "name": "curve_room_walls",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets curved architectural walls or rounded corners for a space/room (radius in meters, 0.0 for sharp to 3.0 for curved).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Name or ID of room"
          },
          "radius": {
            "type": "number",
            "description": "Corner radius / curvature in meters (e.g. 0.0 to 3.0)"
          }
        },
        "required": [
          "room_name_or_id",
          "radius"
        ],
        "additionalProperties": false
      }
    }
    remodel_room_wallsAction

    Remodels room walls into a custom polygon by specifying exact corner coordinates {x, y} in meters.

    View tool JSON
    {
      "name": "remodel_room_walls",
      "kind": "act",
      "impl": "imperative",
      "description": "Remodels room walls into a custom polygon by specifying exact corner coordinates {x, y} in meters.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Name or ID of room"
          },
          "vertices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "number",
                  "description": "Relative X coordinate in meters"
                },
                "y": {
                  "type": "number",
                  "description": "Relative Y coordinate in meters"
                }
              },
              "required": [
                "x",
                "y"
              ]
            },
            "description": "Ordered list of polygon wall corner coordinates"
          }
        },
        "required": [
          "room_name_or_id",
          "vertices"
        ],
        "additionalProperties": false
      }
    }
    set_object_colorAction

    Assigns a color to any object, shape, booth, or furniture item on the canvas. Accepts hex colors (#10b981, #3b82f6) or color names ("emerald", "gold", "crema", "espresso", "dark", "blue", "amber", "orange", "coral", "red", "rose", "purple", "teal", "mint", "slate", "charcoal", "white").

    View tool JSON
    {
      "name": "set_object_color",
      "kind": "act",
      "impl": "imperative",
      "description": "Assigns a color to any object, shape, booth, or furniture item on the canvas. Accepts hex colors (#10b981, #3b82f6) or color names (\"emerald\", \"gold\", \"crema\", \"espresso\", \"dark\", \"blue\", \"amber\", \"orange\", \"coral\", \"red\", \"rose\", \"purple\", \"teal\", \"mint\", \"slate\", \"charcoal\", \"white\").",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name_or_id": {
            "type": "string",
            "description": "Name or ID of the object/shape/fixture to color"
          },
          "color": {
            "type": "string",
            "description": "Hex code (e.g. \"#10b981\", \"#3b82f6\") or color name (\"emerald\", \"gold\", \"blue\", \"amber\", \"rose\", \"dark\", \"white\")"
          }
        },
        "required": [
          "object_name_or_id",
          "color"
        ],
        "additionalProperties": false
      }
    }
    set_room_colorAction

    Assigns a tint color to any room or zone on the canvas. Accepts hex colors (#10b981) or color names ("emerald", "gold", "blue", "amber", "rose", "slate", "white").

    View tool JSON
    {
      "name": "set_room_color",
      "kind": "act",
      "impl": "imperative",
      "description": "Assigns a tint color to any room or zone on the canvas. Accepts hex colors (#10b981) or color names (\"emerald\", \"gold\", \"blue\", \"amber\", \"rose\", \"slate\", \"white\").",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Name or ID of the room or zone"
          },
          "color": {
            "type": "string",
            "description": "Hex code or color name (\"emerald\", \"blue\", \"gold\", \"amber\", \"rose\")"
          }
        },
        "required": [
          "room_name_or_id",
          "color"
        ],
        "additionalProperties": false
      }
    }
    delete_doorSensitive Action

    Deletes a door opening by its exact door ID, or removes doors from a room (optionally filtered by wall).

    View tool JSON
    {
      "name": "delete_door",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes a door opening by its exact door ID, or removes doors from a room (optionally filtered by wall).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "door_id": {
            "type": "string",
            "description": "Exact ID of the door opening to delete"
          },
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID to delete doors from"
          },
          "wall": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ],
            "description": "Optional wall filter"
          }
        },
        "additionalProperties": false
      }
    }
    delete_windowSensitive Action

    Deletes a window opening by its exact window ID, or removes windows from a room (optionally filtered by wall).

    View tool JSON
    {
      "name": "delete_window",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes a window opening by its exact window ID, or removes windows from a room (optionally filtered by wall).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "window_id": {
            "type": "string",
            "description": "Exact ID of the window to delete"
          },
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID to delete windows from"
          },
          "wall": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ],
            "description": "Optional wall filter"
          }
        },
        "additionalProperties": false
      }
    }
    delete_openingSensitive Action

    Deletes any opening (door or window) by ID, or clears all openings in a specific room.

    View tool JSON
    {
      "name": "delete_opening",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes any opening (door or window) by ID, or clears all openings in a specific room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "opening_id": {
            "type": "string",
            "description": "Opening ID"
          },
          "room_name_or_id": {
            "type": "string",
            "description": "Room name or ID"
          }
        },
        "additionalProperties": false
      }
    }
    move_doorAction

    Moves a door along its wall or repositions it to another wall of the same room.

    View tool JSON
    {
      "name": "move_door",
      "kind": "act",
      "impl": "imperative",
      "description": "Moves a door along its wall or repositions it to another wall of the same room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "door_id": {
            "type": "string",
            "description": "ID of the door opening"
          },
          "offset": {
            "type": "number",
            "description": "Distance in meters from the wall origin"
          },
          "new_wall": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ],
            "description": "Optional new wall to place door on"
          }
        },
        "required": [
          "door_id",
          "offset"
        ],
        "additionalProperties": false
      }
    }
    move_windowAction

    Moves a window along its wall or repositions it to another wall of the same room.

    View tool JSON
    {
      "name": "move_window",
      "kind": "act",
      "impl": "imperative",
      "description": "Moves a window along its wall or repositions it to another wall of the same room.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "window_id": {
            "type": "string",
            "description": "ID of the window opening"
          },
          "offset": {
            "type": "number",
            "description": "Distance in meters from the wall origin"
          },
          "new_wall": {
            "type": "string",
            "enum": [
              "north",
              "south",
              "east",
              "west"
            ],
            "description": "Optional new wall to place window on"
          }
        },
        "required": [
          "window_id",
          "offset"
        ],
        "additionalProperties": false
      }
    }
    resize_doorAction

    Resizes a door opening width in meters (e.g. 0.8m, 0.9m, 1.2m, 1.8m).

    View tool JSON
    {
      "name": "resize_door",
      "kind": "act",
      "impl": "imperative",
      "description": "Resizes a door opening width in meters (e.g. 0.8m, 0.9m, 1.2m, 1.8m).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "door_id": {
            "type": "string",
            "description": "ID of the door opening"
          },
          "width": {
            "type": "number",
            "description": "New width in meters"
          }
        },
        "required": [
          "door_id",
          "width"
        ],
        "additionalProperties": false
      }
    }
    resize_windowAction

    Resizes a window opening width in meters (e.g. 1.2m, 1.8m, 2.4m).

    View tool JSON
    {
      "name": "resize_window",
      "kind": "act",
      "impl": "imperative",
      "description": "Resizes a window opening width in meters (e.g. 1.2m, 1.8m, 2.4m).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "window_id": {
            "type": "string",
            "description": "ID of the window opening"
          },
          "width": {
            "type": "number",
            "description": "New width in meters"
          }
        },
        "required": [
          "window_id",
          "width"
        ],
        "additionalProperties": false
      }
    }
    set_door_typeAction

    Changes the door type (single_door, double_door, sliding_door, pocket_door, bifold_door, opening_archway).

    View tool JSON
    {
      "name": "set_door_type",
      "kind": "act",
      "impl": "imperative",
      "description": "Changes the door type (single_door, double_door, sliding_door, pocket_door, bifold_door, opening_archway).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "door_id": {
            "type": "string",
            "description": "ID of the door opening"
          },
          "type": {
            "type": "string",
            "enum": [
              "single_door",
              "double_door",
              "sliding_door",
              "pocket_door",
              "bifold_door",
              "opening_archway"
            ],
            "description": "New door type"
          }
        },
        "required": [
          "door_id",
          "type"
        ],
        "additionalProperties": false
      }
    }
    clear_redundant_doorsAction

    Cleans up duplicate or excessive stacked doors in a room or across the entire floor plan, keeping only clean primary doors.

    View tool JSON
    {
      "name": "clear_redundant_doors",
      "kind": "act",
      "impl": "imperative",
      "description": "Cleans up duplicate or excessive stacked doors in a room or across the entire floor plan, keeping only clean primary doors.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Optional room name or ID. If omitted, cleans across all rooms."
          }
        },
        "additionalProperties": false
      }
    }
    select_elementAction

    Selects and highlights a room, fixture, opening, or plot on the canvas and in the right properties panel.

    View tool JSON
    {
      "name": "select_element",
      "kind": "act",
      "impl": "imperative",
      "description": "Selects and highlights a room, fixture, opening, or plot on the canvas and in the right properties panel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name_or_id": {
            "type": "string",
            "description": "Name or ID of the element to select. Pass empty string or \"none\" to clear active selection."
          },
          "type": {
            "type": "string",
            "enum": [
              "room",
              "fixture",
              "opening",
              "plot"
            ],
            "description": "Optional element type hint"
          }
        },
        "required": [
          "name_or_id"
        ],
        "additionalProperties": false
      }
    }
    get_selected_elementAnswer

    Returns the element currently selected and highlighted on the canvas.

    View tool JSON
    {
      "name": "get_selected_element",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the element currently selected and highlighted on the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_archetypeAction

    Switches the active space archetype category (residential, commercial_office, events_exhibition, cafe_restaurant, retail_store, clinic_wellness, studio_workshop).

    View tool JSON
    {
      "name": "set_archetype",
      "kind": "act",
      "impl": "imperative",
      "description": "Switches the active space archetype category (residential, commercial_office, events_exhibition, cafe_restaurant, retail_store, clinic_wellness, studio_workshop).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "archetype": {
            "type": "string",
            "enum": [
              "residential",
              "commercial_office",
              "events_exhibition",
              "cafe_restaurant",
              "retail_store",
              "clinic_wellness",
              "studio_workshop"
            ],
            "description": "Category of space archetype to activate in the tool palette"
          }
        },
        "required": [
          "archetype"
        ],
        "additionalProperties": false
      }
    }
    get_archetypesAnswer

    Lists all available space archetypes and their descriptions.

    View tool JSON
    {
      "name": "get_archetypes",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists all available space archetypes and their descriptions.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_project_nameAction

    Sets or renames the active architectural project title.

    View tool JSON
    {
      "name": "set_project_name",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets or renames the active architectural project title.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "New project title"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
    set_unitsAction

    Switches the measurement units between meters (m) and feet (ft).

    View tool JSON
    {
      "name": "set_units",
      "kind": "act",
      "impl": "imperative",
      "description": "Switches the measurement units between meters (m) and feet (ft).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "unit": {
            "type": "string",
            "enum": [
              "m",
              "ft"
            ],
            "description": "Measurement unit"
          }
        },
        "required": [
          "unit"
        ],
        "additionalProperties": false
      }
    }
    get_unitsAnswer

    Returns the current measurement unit, grid snap settings, and dimensions display mode.

    View tool JSON
    {
      "name": "get_units",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the current measurement unit, grid snap settings, and dimensions display mode.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    undoAction

    Reverses the last spatial action on the canvas.

    View tool JSON
    {
      "name": "undo",
      "kind": "act",
      "impl": "imperative",
      "description": "Reverses the last spatial action on the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    redoAction

    Re-applies the last undone spatial action.

    View tool JSON
    {
      "name": "redo",
      "kind": "act",
      "impl": "imperative",
      "description": "Re-applies the last undone spatial action.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    validate_floorplanAction

    Performs comprehensive architectural validation: detects room overlaps, out-of-bounds walls, isolated rooms with 0 doors, circulation bottlenecks, excessive openings, and true gross built vs outdoor landscaping coverage.

    View tool JSON
    {
      "name": "validate_floorplan",
      "kind": "act",
      "impl": "imperative",
      "description": "Performs comprehensive architectural validation: detects room overlaps, out-of-bounds walls, isolated rooms with 0 doors, circulation bottlenecks, excessive openings, and true gross built vs outdoor landscaping coverage.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_connectivity_graphAnswer

    Evaluates circulation and doorway connectivity: returns connected room pairs, exterior entrances, isolated rooms, and reachability clusters.

    View tool JSON
    {
      "name": "get_connectivity_graph",
      "kind": "answer",
      "impl": "imperative",
      "description": "Evaluates circulation and doorway connectivity: returns connected room pairs, exterior entrances, isolated rooms, and reachability clusters.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    calculate_setbacksAction

    Calculates property setback lines (Abuja FCDA / standard setbacks: Front 6m, Rear 3m, Sides 3m) and identifies any building wall encroachments.

    View tool JSON
    {
      "name": "calculate_setbacks",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculates property setback lines (Abuja FCDA / standard setbacks: Front 6m, Rear 3m, Sides 3m) and identifies any building wall encroachments.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "front": {
            "type": "number",
            "description": "Front setback in meters (default 6.0m)"
          },
          "rear": {
            "type": "number",
            "description": "Rear setback in meters (default 3.0m)"
          },
          "east": {
            "type": "number",
            "description": "East side setback in meters (default 3.0m)"
          },
          "west": {
            "type": "number",
            "description": "West side setback in meters (default 3.0m)"
          },
          "jurisdiction": {
            "type": "string",
            "description": "Zoning jurisdiction name (e.g. \"Abuja FCDA\")"
          }
        },
        "additionalProperties": false
      }
    }
    center_plotAction

    Centers the plot in the canvas viewport and resets view pan.

    View tool JSON
    {
      "name": "center_plot",
      "kind": "act",
      "impl": "imperative",
      "description": "Centers the plot in the canvas viewport and resets view pan.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_zoomAction

    Sets the viewport zoom factor (e.g. 0.5 to 2.5).

    View tool JSON
    {
      "name": "set_zoom",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets the viewport zoom factor (e.g. 0.5 to 2.5).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "zoom": {
            "type": "number",
            "description": "Zoom factor (e.g. 1.0 = 100%, 1.5 = 150%)"
          }
        },
        "required": [
          "zoom"
        ],
        "additionalProperties": false
      }
    }
    delete_custom_shapeSensitive Action

    Deletes a custom parametric shape entity or site shape from the canvas.

    View tool JSON
    {
      "name": "delete_custom_shape",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes a custom parametric shape entity or site shape from the canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "shape_name_or_id": {
            "type": "string",
            "description": "Name or ID of the shape to delete"
          }
        },
        "required": [
          "shape_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    set_room_typeAction

    Changes the architectural category/type of a space (e.g. bedroom, master_bedroom, ensuite_bathroom, kitchen, living_room, corridor, bq, parking, garden, office, conference_room, etc.).

    View tool JSON
    {
      "name": "set_room_type",
      "kind": "act",
      "impl": "imperative",
      "description": "Changes the architectural category/type of a space (e.g. bedroom, master_bedroom, ensuite_bathroom, kitchen, living_room, corridor, bq, parking, garden, office, conference_room, etc.).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "room_name_or_id": {
            "type": "string",
            "description": "Name or ID of the room"
          },
          "new_type": {
            "type": "string",
            "description": "New room type identifier"
          }
        },
        "required": [
          "room_name_or_id",
          "new_type"
        ],
        "additionalProperties": false
      }
    }
    set_fixture_position_absoluteAction

    Sets absolute canvas coordinates (x, y in meters) for any fixture, furniture item, or site shape, decoupling it from relative room offsets.

    View tool JSON
    {
      "name": "set_fixture_position_absolute",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets absolute canvas coordinates (x, y in meters) for any fixture, furniture item, or site shape, decoupling it from relative room offsets.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fixture_name_or_id": {
            "type": "string",
            "description": "Name or ID of fixture/shape"
          },
          "x": {
            "type": "number",
            "description": "Absolute X position on plot in meters"
          },
          "y": {
            "type": "number",
            "description": "Absolute Y position on plot in meters"
          }
        },
        "required": [
          "fixture_name_or_id",
          "x",
          "y"
        ],
        "additionalProperties": false
      }
    }
    set_metadataAction

    Stores project metadata: location, zoning jurisdiction, title deed type (C-of-O), setbacks, approval assumptions, or client notes.

    View tool JSON
    {
      "name": "set_metadata",
      "kind": "act",
      "impl": "imperative",
      "description": "Stores project metadata: location, zoning jurisdiction, title deed type (C-of-O), setbacks, approval assumptions, or client notes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "Site address or location (e.g. \"Maitama, Abuja\")"
          },
          "zoning_jurisdiction": {
            "type": "string",
            "description": "Jurisdiction (e.g. \"Abuja FCDA\", \"Lagos LASPPPA\")"
          },
          "title_type": {
            "type": "string",
            "description": "Title deed type (e.g. \"C-of-O\", \"R-of-O\", \"Freehold\")"
          },
          "setback_north": {
            "type": "number",
            "description": "Front setback in meters"
          },
          "setback_south": {
            "type": "number",
            "description": "Rear setback in meters"
          },
          "setback_east": {
            "type": "number",
            "description": "East side setback in meters"
          },
          "setback_west": {
            "type": "number",
            "description": "West side setback in meters"
          },
          "approval_assumptions": {
            "type": "string",
            "description": "Assumptions regarding planning approval"
          },
          "client_notes": {
            "type": "string",
            "description": "Design notes or client preferences"
          }
        },
        "additionalProperties": false
      }
    }
    get_metadataAnswer

    Retrieves current project metadata, setbacks, zoning parameters, and client notes.

    View tool JSON
    {
      "name": "get_metadata",
      "kind": "answer",
      "impl": "imperative",
      "description": "Retrieves current project metadata, setbacks, zoning parameters, and client notes.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    export_projectAction

    Exports the floor plan project as vector SVG blueprint markup or structured JSON state.

    View tool JSON
    {
      "name": "export_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Exports the floor plan project as vector SVG blueprint markup or structured JSON state.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "svg",
              "json"
            ],
            "description": "Export format: \"svg\" for vector blueprint markup, \"json\" for data state"
          }
        },
        "required": [
          "format"
        ],
        "additionalProperties": false
      }
    }
    save_projectAction

    Saves current floor plan state and returns a verified JSON state snapshot with timestamp.

    View tool JSON
    {
      "name": "save_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Saves current floor plan state and returns a verified JSON state snapshot with timestamp.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    render_plan_snapshotAction

    Renders an instant vector SVG blueprint markup snapshot of the canvas layout for visual verification.

    View tool JSON
    {
      "name": "render_plan_snapshot",
      "kind": "act",
      "impl": "imperative",
      "description": "Renders an instant vector SVG blueprint markup snapshot of the canvas layout for visual verification.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    save_project_asAction

    Saves the current floor plan layout to the project library with a custom name and optional notes.

    View tool JSON
    {
      "name": "save_project_as",
      "kind": "act",
      "impl": "imperative",
      "description": "Saves the current floor plan layout to the project library with a custom name and optional notes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name for this saved floor plan design"
          },
          "notes": {
            "type": "string",
            "description": "Optional design notes or description"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
    list_saved_projectsAnswer

    Lists all saved floor plan layouts stored in the project library.

    View tool JSON
    {
      "name": "list_saved_projects",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists all saved floor plan layouts stored in the project library.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    load_saved_projectAction

    Loads a previously saved floor plan layout from the library onto the active canvas.

    View tool JSON
    {
      "name": "load_saved_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Loads a previously saved floor plan layout from the library onto the active canvas.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_name_or_id": {
            "type": "string",
            "description": "Name or ID of the saved project to load"
          }
        },
        "required": [
          "project_name_or_id"
        ],
        "additionalProperties": false
      }
    }
    delete_saved_projectSensitive Action

    Deletes a saved layout from the project library.

    View tool JSON
    {
      "name": "delete_saved_project",
      "kind": "transact",
      "impl": "imperative",
      "description": "Deletes a saved layout from the project library.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_name_or_id": {
            "type": "string",
            "description": "Name or ID of the project to delete"
          }
        },
        "required": [
          "project_name_or_id"
        ],
        "additionalProperties": false
      }
    }