Skip to main content
Glama
hellstein-dev

fusion-mcp

body_combine

Joins, cuts, or intersects tool bodies with a target body to modify the target; optionally keep tools or place the result in a new component.

Instructions

Boolean of bodies: join, cut or intersect tool bodies with a target body.

The target is changed (modified_bodies); consumed tools are listed by token in removed_bodies unless keep_tools=true. With new_component=true the result body is created in a new component ("component" in the result). Refs: bodies from inspect_query or earlier results (tokens change after this feature - use the refs in the result).

Errors: the target listed in tools, a non-body ref -> INVALID_PARAMS (nothing changed); a combine Fusion cannot compute -> FUSION_API_ERROR, rolled back.

Returns {"feature", "health", "created_bodies", "modified_bodies", "removed_bodies"} (+ "component" with new_component).

Example: body_combine(target=, tools=[, ])

Input Schema

NameRequiredDescriptionDefault
toolsYesTool bodies (not the target)
targetYesBody that receives the result
operationNojoin (default), cut or intersectjoin
keep_toolsNoKeep the tool bodies
new_componentNoPut the result in a new component

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.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 does so thoroughly: it discloses mutation of the target, consumption of tools, component creation, ref token invalidation after the feature, and specific error behaviors (INVALID_PARAMS with nothing changed, FUSION_API_ERROR with rollback). This is unusually complete for a 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?

The description is front-loaded with the core action, then behavior, refs, errors, returns, and an example — a logical progression with no filler sentences. The parenthetical asides are dense but each carries load.

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?

There is no output schema, but the description explicitly lists the return keys (feature, health, created_bodies, modified_bodies, removed_bodies, plus component), and covers error cases and ref lifecycle. An agent has everything needed to invoke and interpret the call.

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 the baseline is 3, but the description adds meaning beyond the schema: how keep_tools affects removed_bodies, that new_component yields a 'component' key in the result, and what target vs tools mean semantically. It stops short of documenting the ref token format that the schema's item description covers.

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 (boolean combination of bodies) and enumerates the three operations (join, cut, intersect) against a target body. This is clearly distinguishable from siblings like body_split or surface_stitch.

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 sets clear context: the target receives the result, tools are consumed unless keep_tools is true, and refs must come from inspect_query or earlier results. It does not explicitly name alternatives or exclusion conditions (e.g. when to prefer body_split or surface_stitch), keeping it below a 5.

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