add_object
Add plants, buildings, or ground shapes to a garden plan; specify type, placement, size, and product by ID or name search, with path outlines computed automatically.
Instructions
Add a garden object (plant, building, or ground shape). Type determines rendering: 'plant' for plants, 'building' for architecture, 'rectangle'/'ellipse'/'polygon'/'path' for ground shapes. For type='path', provide pathWaypoints (centerline) and pathWidth; the outline polygon is computed automatically. Supply productId OR productQuery (name search resolved server-side). Width/height are optional — if omitted, defaults from the product catalog are used.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"type": "<type>"
},
"name": "add_object"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Center X — units determined by set_units (default 'm', meters) | |
| y | No | Center Y — units determined by set_units (default 'm', meters) | |
| path | No | Surface corridor as an ABSOLUTE centreline in metres plus width (for type=path), exactly as add_zones takes it. Preferred over pathWaypoints/pathWidth. | |
| type | Yes | Object type | |
| label | No | Custom label | |
| width | No | Footprint size east–west — units determined by set_units (default 'm'); optional, defaults to product catalog value. Ignored for plants: they are drawn at their mature catalog size and cannot be resized. | |
| height | No | Footprint size north–south (plan depth, not how tall it is) — units determined by set_units (default 'm'); optional, defaults to product catalog value. Ignored for plants (mature catalog size). | |
| points | No | Polygon vertices (for type=polygon), RELATIVE to the object's centre x/y — use `polygon` (absolute) instead unless you have centre-relative points | |
| zoneId | No | Optional zone ID — if provided, validates that the object center falls within the zone boundary. Returns warning if outside. Placement always succeeds. | |
| polygon | No | Surface outline as ABSOLUTE vertices in metres (for type=polygon), exactly as add_zones takes it — e.g. a zone's outline from get_zones. Preferred over points; x/y/width/height are then computed. | |
| rotation | No | Rotation in degrees (default 0) | |
| elevation | No | Ground surfaces only: how high the surface is raised, in metres (a deck, a raised strip of soil). Architecture — raised beds, planters, furniture — always stands at its catalog height, as its model is drawn, and plants in it stand on that; a value given for it is ignored (choose a taller product instead). Not the footprint: that is width × height. | |
| pathWidth | No | Path corridor width — units determined by set_units (default 'm'); for type=path, default 1m | |
| productId | No | Product ID from the catalog (use this OR productQuery) | |
| productQuery | No | Product name search query — resolved server-side. If ambiguous, returns error with top candidates. Use this OR productId. | |
| pathWaypoints | No | Centerline waypoints (for type=path), RELATIVE to the object's centre x/y — use `path` (absolute) instead. At least 2 points required. |