Skip to main content
Glama

extrude_profile

Create solid extrusions from closed 2D polygons, with optional holes, for soles, panels, signs, and floor plans.

Instructions

Make a solid by extruding a closed 2D polygon, centred on its depth. plane XZ: points are [x, z] and the depth runs along Y (front outline); YZ: [y, z], depth along X (side outline); XY: [x, y], depth along Z (top). at shifts the result in the world. holes is a list of polygons in the same coordinates (or the holes of trace_outline as they are): each is cut through the solid with the checks of boolean; a flawed cut is kept and listed in warnings. Good for soles, panels, signs, floor plans, outline-based parts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNo
nameYes
depthYes
holesNo
planeNoXZ
pointsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and discloses rich behavior: the solid is centred on its depth, plane coordinate conventions are spelled out, `at` shifts the result in world space, and holes are cut using boolean checks with flawed cuts kept and reported in `warnings`. This is well beyond what any structured field provides.

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?

The description is a single dense paragraph that front-loads the core action, then covers coordinate conventions, positioning, holes/warnings, and use cases. Every sentence contributes necessary information with no filler.

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 6-parameter 3D modeling tool with no annotations and no output schema, the description covers geometry semantics, hole behavior, and failure reporting well enough for correct invocation. It stops short of explaining the required `name` parameter or the overall return shape, which would help an agent fully understand the result.

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 0%, so the description must compensate, and it does for most parameters: `plane` gets detailed coordinate-axis mapping, `at` is explained as a world shift, and `holes` is described as a list of polygons cut through the solid. It leaves `name` unexplained and does not clarify `depth` units or sign, so it is strong but not complete.

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 ('extruding') and resource ('closed 2D polygon') to produce a solid, and it explicitly distinguishes this from face extrusion by requiring a closed polygon profile. An agent can tell it apart from siblings like extrude_faces or loft without opening the 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?

It gives clear positive use cases ('Good for soles, panels, signs, floor plans, outline-based parts'), which helps an agent decide when to select it. However, it does not state when not to use it or name an alternative tool, so it stops short of full routing guidance.

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