Skip to main content
Glama

select_faces

Read-only

Preview faces matching conditions such as normal, position, box, area, or index without changing the mesh, and report counts, area, center range, and sample indices.

Instructions

Preview a face selection without changing anything: how many faces, their area, the world range of their centres and the first indices. 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

NameRequiredDescriptionDefault
whereNo
objectYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the description doesn't need to establish the safety profile. It goes beyond that by specifying the exact return shape (count, area, world range, first indices) and the default angle (25°), which is meaningful behavioral detail. It doesn't discuss pagination or size limits on large selections, keeping it from 5.

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 key preview behavior and return fields are front-loaded in the first sentence, and the `where` grammar follows. It's dense but every clause carries parameter meaning. Slightly prose-heavy for a tool description but 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 2-parameter read-only tool with no output schema and 0% schema coverage, the description covers the selection grammar thoroughly and names the preview output. It leaves minor gaps (no mention of performance on large meshes, no reference to sibling selection-based operations), but is largely complete.

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 carries the full burden for `where`, and it delivers: it enumerates every supported key (normal with angle default 25°, x/y/z ranges with null-open semantics, box, area, index) and states the AND-semantics ('all given keys must hold') plus the empty-object/null default. This is exactly the compensation needed at 0% coverage.

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 opens with a specific verb+resource and scope: 'Preview a face selection without changing anything'. It also enumerates exactly what is returned (count, area, world range of centres, first indices), which distinguishes it sharply from siblings like `delete_faces` or `extrude_faces` that actually mutate the selection.

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?

Usage context is clear ('Preview...without changing anything', 'Look at mesh_info first to see where the faces are'), and the read-only intent implies this is used before mutating operations. It doesn't explicitly name the mutating alternatives (extrude_faces, delete_faces, inset_faces, etc.) it's meant to precede, so 4 rather than 5.

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