Skip to main content
Glama

sweep

Pull a cross-section along world points or arcs to build pipes, cables, railings, trims, horns, tails, or roads; set profile, taper radii, caps, and up direction.

Instructions

Pull a cross-section along a path of world points: pipes, cables, railings, trims, horns, tails, roads. Instead of path, arc gives a circular arc without computing points: {"center": [x, y, z], "radius": 0.09, "plane": "XZ", "start_deg": 0, "end_deg": 180, "points": 24} (angles from the first axis of the plane, counter-clockwise; a bail handle over X is plane XZ from 0 to 180). radii gives one radius per point (a taper). profile is a closed 2D polygon [[right, up], ...] of the cross-section (default a circle with sides); the frame turns smoothly along the path, up is the starting up direction.

Input Schema

NameRequiredDescriptionDefault
upNo
arcNo
capsNo
nameYes
pathNo
radiiNo
sidesNo
closedNo
radiusNo
profileNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / arc
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / path / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "items": {
      +        "type": "number"
      +      },
      +      "type": "array"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / path / default
      Added value: +null
    • removedInput schema / properties / path / items
      Removed value: -{
      -  "items": {
      -    "type": "number"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / path / type
      Removed value: -"array"
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "path"
      -]New value: +[
      +  "name"
      +]
  2. First observedv0.4.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false). The description adds some non-obvious behavior (the frame turns smoothly along the path; a default circular profile), but is otherwise parameter documentation and does not disclose side effects such as whether a new named object is created or how existing scene content is affected.

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

Conciseness4/5

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

The core action is front-loaded in the first sentence and the remaining detail is dense but nearly all load-bearing for a 10-parameter tool with no schema descriptions. The single run-on paragraph with an inline JSON blob is heavy but not padded.

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 a complex geometry tool with no output schema and 10 undocumented parameters, the description covers the geometrically difficult parts (arc generation, taper, profile frame, up vector) thoroughly. It is less complete on object/side-effect semantics, but an agent has enough to invoke it correctly on the geometry.

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?

With 0% schema description coverage the description must carry all semantics, and it does so well for the hardest parameters: arc gets a full JSON example plus an angle convention and a worked 'bail handle over X' case, and radii (taper), profile ([[right, up]] closed polygon, default circle), and up (starting up direction) are explained. It leaves name, caps, closed, and radius (distinct from radii) unexplained, so compensation is substantial but incomplete.

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

Purpose4/5

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

The description opens with a specific verb+resource: 'Pull a cross-section along a path of world points,' immediately grounded by concrete examples (pipes, cables, railings, horns, roads). An agent can tell this builds tubular/linear geometry, but no sibling (lathe, loft, extrude_profile) is named to make the boundary explicit, so sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

The examples of what the tool produces (pipes, cables, railings, roads) imply usage context, but there is no explicit when-to-use, when-not-to-use, or alternative guidance relative to lathe/loft/extrude_profile. Usage is left implicit rather than stated.

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