Skip to main content
Glama

loft_from_masks

Generate a rounded 3D body by lofting cross-sections from front and side silhouette images, with width from front and depth from side to follow both outlines.

Instructions

Build one rounded body from a front and a side silhouette image (with numbers instead of images use loft): per band the width comes from the front image and the depth and forward offset from the side image, so the cross-sections follow both outlines. part=largest uses the widest run in a band (the torso, not the arms); part=extent uses everything. side_faces says which way the figure looks in the side image (left matches the world: the front is -Y). z_range limits the height as fractions (0.0 to 0.5 builds the lower half). roundness 2 is an ellipse, 4 a rounded box. The body spans the full height (or z_range): the first and the last band end flat at their outer edge.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNo
nameYes
partNolargest
sideYes
bandsNo
frontYes
z_rangeNo
height_mYes
segmentsNo
roundnessNo
thresholdNo
side_facesNoleft
subdivisionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It explains the core geometry behavior in detail: per-band cross-sections, part selection semantics, side_faces orientation, z_range fractions, roundness shapes, and flat end bands. However, it does not disclose side effects such as whether it creates a new object, replaces existing geometry, or what it returns.

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 description is dense but front-loaded with purpose and core behavior. Every sentence adds useful technical detail, though the long single paragraph could be structured more readably with parameter-focused bullets.

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

Completeness2/5

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

The tool is complex: 13 parameters, no annotations, no output schema, and 0% schema description coverage. The description covers core geometry but omits return values and leaves many optional parameters unexplained, so an agent still has significant gaps for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 13 parameters, so the description must compensate. It meaningfully explains part, side_faces, z_range, and roundness, but leaves at, name, height_m, bands, segments, threshold, and subdivisions undocumented. For a 13-parameter tool with zero schema descriptions, this is only partial compensation.

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?

The description states a specific verb and resource: 'Build one rounded body from a front and a side silhouette image.' It also distinguishes itself from the sibling tool loft by saying 'with numbers instead of images use loft.' An agent can tell exactly what this tool produces and when it applies.

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

Usage Guidelines5/5

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

It explicitly names the alternative tool for numeric input ('with numbers instead of images use loft'), which is a clear routing condition. It also clarifies key mode choices such as part=largest vs part=extent and side_faces orientation, giving the agent actionable guidance.

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