Skip to main content
Glama

fusion_mcp_export

Idempotent

Export the open Fusion design to an existing directory as STL, F3D, and parameters JSON, returning absolute paths; validates the STL mesh and never overwrites files.

Instructions

Export the open Fusion design into an existing directory as .stl (export_stl of one body), .f3d (export_f3d) and .parameters.json (its user parameters), and return their absolute paths. The STL is checked as a finite triangle mesh; slice it like any other model. Fusion must run on this computer, and existing files are never overwritten.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "output_dir": "<output_dir>",
      "name": "<name>"
    },
    "name": "fusion_mcp_export"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesFile name without extension, such as bracket.
body_nameNoThe body to export as STL. Optional when the design has exactly one body.
output_dirYesExisting directory for the three files.
timeout_msNoTotal deadline in milliseconds; defaults to FUSION_MCP_TIMEOUT_MS or 180000.
document_idNoSession identity returned by a bound new design. Every operation targets this document, even if the user changes tabs.

Output Schema

NameRequiredDescriptionDefault
f3dYesAbsolute path of <name>.f3d.
stlYesAbsolute path of <name>.stl.
bodyYes
bytesNo
statusYes
stlUnitsNoThe STL's units, from its size against the Fusion body's.
warningsNo
trianglesYes
parametersYesAbsolute path of <name>.parameters.json.
boundingBoxNoMeasured from the written STL, in its own units: min, max and dimensions.
fusionSizeMmNoThe Fusion body's bounding-box size in mm.
parameterCountYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.61
    • addedInput schema / properties / document_id
      Added value: +{
      +  "description": "Session identity returned by a bound new design. Every operation targets this document, even if the user changes tabs.",
      +  "minLength": 1,
      +  "type": "string"
      +}
  2. Addedv1.1.51

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare non-destructive, idempotent, open-world semantics; the description adds real value beyond them by promising existing files are never overwritten, requiring Fusion to be running locally, and noting the STL is validated as a finite triangle mesh. It does not cover failure behavior (missing directory, multiple bodies without body_name, timeout expiry), which keeps it short of a 5.

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?

Three sentences, front-loaded with the action and the produced file set, followed by the validation note, then the environment and no-overwrite constraints. Every clause carries information; no filler or restatement of the tool name.

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 five-parameter export tool with an output schema (so return values need no explanation), the description covers outputs, validation, environment prerequisite, and filesystem safety. The remaining gap is error semantics — what happens with multiple bodies, a non-existent directory, or a timeout — which an agent would want before calling.

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?

Schema description coverage is 100%, so the schema already documents output_dir, name, body_name, timeout_ms, and document_id. The description adds only marginal framing — that exactly one body is exported to STL and that the JSON holds 'its user parameters' — without clarifying formats or edge cases such as body_name being required when several bodies exist. Baseline 3 applies.

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 (export) and resource (the open Fusion design) plus exactly what artifacts are produced: <name>.stl, <name>.f3d, and <name>.parameters.json with their absolute paths. An agent can distinguish this from fusion_mcp_call (arbitrary Fusion operations) and fusion_mcp_new_design (document creation) without inspecting schemas.

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 the practical follow-on path ('The STL is checked as a finite triangle mesh; slice it like any other model'), which effectively points the agent at the slicing siblings, and states a hard prerequisite ('Fusion must run on this computer'). It does not explicitly name fusion_mcp_call as the fallback for non-export Fusion work, so the alternative is implied rather than stated.

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