Skip to main content
Glama

draw_cylinder

Add, paint, or carve cylinder-shaped voxels along an axis in a Buildup part to make pipes, headlights, exhausts, and round details.

Instructions

Add, paint or carve a cylinder (pipes, headlights, exhausts, round details).

Example: an exhaust pipe along Z, 2 voxels across, at x = 5.0, y = 4.0, from z = 20 to 24: axis 'z', center [5, 4], radius 1, span [20, 24]. Wheels: use add_wheels instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
axisYesCylinder axis: 'x' across the vehicle, 'y' vertical, 'z' along.
modeNo'add' fills the shape with the color (replacing voxels there, growing the part); 'paint' recolors only the part's existing voxels inside the shape; 'carve' removes the part's voxels inside the shape.add
partYesPart name, for example 'body' or 'wheel_fl'.
spanYesFirst cell and the cell after the last one along the axis.
colorNoColor name from define_color; required for modes 'add' and 'paint'.
centerYesAxis position on the two other axes, in x, y, z order (for axis 'x': [y, z]). Whole numbers for an even diameter, n + 0.5 for an odd one.
radiusYesRadius in voxels (voxel centers inside).
projectYesProject name, for example 'red_pickup'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-open-world, non-destructive mutation, so the safety profile is largely covered. The description adds the mode semantics implied by the verb set (carve removes voxels) but says nothing about reversibility, required color, or required permissions. Note the mild tension between 'carve' (voxel removal) and destructiveHint=false, though the sibling 'undo' tool makes this plausibly a reversible edit rather than a true contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines: purpose, one worked example, one exclusion. The example is dense but earns its space by pinning down several coordinate conventions at once, and the exclusion is front-loaded before the agent commits.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, 6-required mutation tool with no output schema, the definition covers the geometry conventions and the key sibling routing. It omits the color requirement and the default mode behavior, both of which the schema covers, so nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries the parameter burden (baseline 3). The description earns above baseline by supplying a fully worked example that disambiguates the two-element center array, the axis convention, radius and span endpoints in one concrete case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs (add/paint/carve) plus the resource (cylinder), and immediately differentiates itself from siblings by naming draw_box-style semantics and giving concrete use cases (pipes, headlights, exhausts, round details). An agent can tell this apart from draw_box, draw_ellipsoid and add_wheels without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly excludes one alternative case ('Wheels: use add_wheels instead.'), which is genuine routing guidance. It does not, however, say when to prefer a cylinder over draw_ellipsoid or draw_box, so it stops short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.