Skip to main content
Glama

extrude_faces

Extrude picked mesh faces as one region to raise roofs, build posts, steps, or window recesses, with controls for distance, offset, scale, and inset.

Instructions

Extrude the picked faces as one region. distance is along their average normal (negative digs in); offset is a world vector instead. scale resizes the new cap about its centre (a taper); inset first shrinks the region by that many metres. Typical: raise a roof, make a post, a step, a window recess. where picks faces (or vertices, edges) by a condition, all given keys must hold: normal ('+Z', '-X' or [x,y,z]) with angle (degrees, default 25); x, y, z ranges [min, max] (null means open) on the world centre; box [[x0,y0,z0],[x1,y1,z1]]; area [min, max]; index [...]. {} or null picks everything. Look at mesh_info first to see where the faces are.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
insetNo
scaleNo
whereNo
objectYes
offsetNo
distanceNo

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?

With no annotations, the description carries the full burden, and it does disclose real behavior: negative `distance` 'digs in', `offset` is a world vector, `scale` produces a taper, `inset` shrinks the region. However, it says nothing about geometry side effects, whether the source faces are consumed, failure modes, or what the result looks like — gaps that matter for an unannotated mutation tool.

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?

Dense and front-loaded — the core operation and the primary parameters come first, then examples, then the selector grammar. The `where` clause is lengthy but each key earns its place; only minor tightening is possible.

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 unannotated mutation tool with no output schema, the description covers five parameters in depth and adds usage and selection guidance. Remaining gap is the absence of any statement about the resulting geometry or side effects, but it is otherwise sufficient to invoke correctly.

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

Parameters5/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: it explains the meaning and units of `distance`, `offset`, `scale`, and `inset`, and fully documents the `where` selector's keys (normal, angle default 25, world-centre ranges, box, area, index) plus the {} / null default. Only the obvious `object` is left implicit.

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 a specific verb and resource plus the scope ('Extrude the picked faces as one region'), and the mention of `inset`/`scale`/`offset` variants distinguishes it from siblings like inset_faces, subdivide_faces, and delete_faces. An agent can identify the operation 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?

Gives concrete typical uses ('raise a roof, make a post, a step, a window recess') and a prerequisite routing hint ('Look at mesh_info first to see where the faces are'). It does not name explicit alternatives or when-not-to-use cases (e.g. inset_faces vs this), so it falls short of a 5.

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