Skip to main content
Glama

loft_from_masks

Build a rounded 3D body in Blender from front and side silhouette masks by mixing per-band width, depth, and offset, so each cross-section follows 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

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

A3.7/5.0
Behavior4/5

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

Annotations only declare the safety profile (not readOnly, not destructive, closed world), so the description carries the real burden and delivers: it explains how cross-sections are derived from both images, the full-height span, and that the first and last band end flat. It still omits whether an object is created fresh vs. replaced and what happens on failure.

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

Conciseness3/5

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

Information density is high and the purpose is front-loaded, but it is delivered as one unstructured run-on paragraph with no separation between core behavior and per-parameter notes. Clauses largely earn their place, yet a bulleted or sentence-split form would scan far better.

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

Completeness3/5

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

For a 13-parameter geometry tool with no output schema and no annotation depth, the description covers the conceptually important knobs but leaves more than half the parameters (including the required height_m) undocumented. It is usable but not fully sufficient to invoke correctly without guessing.

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

Parameters3/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 is the only source of meaning. It usefully defines part, side_faces, z_range, and roundness, but leaves at, name, bands, segments, threshold, subdivisions, and the required height_m completely unexplained.

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 opening states a specific verb and resource ('Build one rounded body from a front and a side silhouette image') and explicitly routes numeric-input cases to the sibling 'loft', so an agent can separate the two. The remaining text is mostly mechanics, but the core purpose is unmistakable.

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?

It names the alternative ('with numbers instead of images use loft') and gives selection criteria between the two enum modes ('part=largest uses the widest run... part=extent uses everything'). It stops short of stating prerequisites, e.g. that a 3D scene/object must exist or what happens if the silhouettes don't align.

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