Skip to main content
Glama
pzfreo

build123d-mcp

edit_feature

Resize a plain cylindrical through hole, rejecting counterbored, spotfaced, or countersunk holes, and verifying material changes before committing the result transactionally.

Instructions

Transactionally resize one plain cylindrical through hole identified by a current @feature handle. Reject holes with counterbores, spotfaces, countersinks or multiple constituent faces. Predict the annular volume change, then check exact added/removed material, hole recognition, every other hole and the outer envelope before registering the result. protected_refs is a JSON list of other hole handles; the target itself cannot be protected. On failure no result is registered. Defaults to replacing the named source; result_name can preserve it under a new name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
handleYes
diameterYes
result_nameNo
protected_refsNo[]

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.90

TDQS

A3.9/5.0
Behavior4/5

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

The annotations indicate that the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false), but the description adds crucial behavioral details: it is transactional, performs validation steps (exact material change, hole recognition, outer envelope check), and on failure registers no result. It also explains the 'protected_refs' semantics and the default behavior of replacing the source. This goes beyond the annotations, though it does not clarify the exact nature of the transaction rollback or side effects on failure, which could be a minor gap.

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 a single dense paragraph that front-loads the main purpose and constraints, then details the validation and parameters. It is efficient with words, but the density of technical terms (e.g., 'annular volume change', 'outer envelope') might reduce readability, though not excessive. It earns a 4 for being appropriately concise and structured.

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?

Given the tool's complexity (mutation with validation, multiple side effects, and output schema present), the description covers the core behavior: transactional execution, validation steps, parameter semantics, and failure handling. The output schema exists, so return values need not be described. The main missing piece is clarity on the exact input format of 'handle' (though it hints at a @feature handle) and the exact meaning of 'outer envelope' validation, but these are minor given the presence of the output schema and annotations.

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?

The input schema has 0% description coverage, so the description must compensate. It explains that 'protected_refs' is a JSON list of other hole handles and that the target cannot be protected, and mentions 'result_name' can preserve the original under a new name. However, it does not explain the 'handle' parameter format (beyond saying 'current @feature handle') and does not specify units or constraints for 'diameter' (e.g., must be positive, affects radius). This is a moderate improvement over the schema, but significant gaps remain.

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 description clearly states the verb ('resize') and the resource ('one plain cylindrical through hole identified by a @feature handle'), and specifies the strict constraints (no counterbores, spotfaces, countersinks, or multiple constituent faces). While it distinguishes from general hole-finding tools by focusing on editing a specific feature, it does not explicitly name a sibling tool for comparison, so it loses a point for lack of explicit differentiation.

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?

The description provides clear context on when to use the tool: it is for resizing a single hole with specific geometric constraints, and it implies that other tools (like find_holes or edit via script) might be alternatives, but it does not explicitly state when not to use it or which sibling to prefer. The lack of explicit alternatives prevents a 5.

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