Skip to main content
Glama
hellstein-dev

fusion-mcp

surface_extend

Extend a surface body past its free boundary edges by a set distance, choosing natural, tangent, or perpendicular extension and returning the modified bodies.

Instructions

Extend a surface body beyond its free edges by a distance (Extend feature).

Units: a plain-number distance is in units (default mm), a string is a Fusion expression. Refs: free edges of surface bodies from inspect_query (edges of a solid have no free side). The extended body keeps its identity but may get a new ref - use modified_bodies.

Errors: distance 0, a face ref -> INVALID_PARAMS; alignment="align" on a Fusion API without extendAlignment -> FUSION_API_ERROR "not available" (nothing changed).

Returns {"feature", "health", "created_bodies" / "modified_bodies": [{ref, type, name, is_solid}], "removed_bodies"}.

Example: surface_extend(edges=[], distance=5)

Input Schema

NameRequiredDescriptionDefault
chainNoAdd tangent-connected free edges
edgesYesFree (boundary) edges of surface bodies
unitsNoUnit of plain-number lengths and pointsmm
distanceYesExtension length (not 0)
alignmentNofree (default) or align the extended edges (newer Fusion API)free
extend_typeNonatural (default, follows the curvature), tangent or perpendicularnatural

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does so well: it discloses unit resolution (plain number vs Fusion expression), identity retention with possible ref change plus the modified_bodies remedy, and two specific failure modes with codes and the note that a FUSION_API_ERROR leaves nothing changed. That is unusually complete side-effect and error disclosure.

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?

Labeled sections (Units, Refs, Errors, Returns, Example) front-load the core purpose and pack only actionable detail. No sentence is expendable given the domain vocabulary involved.

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

Completeness5/5

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

With 6 parameters, no annotations and no output schema, the description supplies what is missing: the return structure including health and created/modified/removed bodies, plus an invocation example. An agent has everything needed to call it and interpret 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 coverage is 100%, so baseline is 3; the description still adds meaning beyond the schema by explaining units resolution (number vs string expression), that distance 0 is invalid, and that alignment='align' depends on API availability. It omits explicit discussion of chain and extend_type, so not a 5.

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+resource+scope: 'Extend a surface body beyond its free edges by a distance (Extend feature)'. The surface-body/free-edge constraint cleanly separates it from sketch_extend, body_thicken, surface_offset and surface_ruled even without naming them explicitly.

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 prerequisites and routing: refs come from inspect_query, and 'edges of a solid have no free side' tells the agent when this tool cannot apply. It also directs the agent to modified_bodies when refs change. It does not name competing siblings (surface_offset, surface_ruled) or state when-not conditions beyond that caveat.

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

Deploy Server

Other Tools