Skip to main content
Glama
Fusion360 MCP Server

Fusion360 MCP Server

by shinobi81

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FUSION_MCP_HOSTNoHost the server/add-in binds to or connects to. On the Fusion host, set it before Fusion starts (e.g. 0.0.0.0 to bind all interfaces for LAN use); in the client config, set it to the Fusion host's LAN IP (or pass --host 192.168.1.42). Defaults to the local socket at 127.0.0.1:9876.127.0.0.1

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_scene_infoB

Get design name, bodies, sketches, features, camera info

get_object_infoB

Get detailed info about a named body or sketch

get_bounding_boxA

Axis-aligned bounding box for a body or component by name. Returns min, max, size, and center in cm (Fusion internal units). For components, unions bounding boxes of all contained bodies. Useful for measuring imported reference geometry.

create_sketchB

Create a new sketch on xy/yz/xz plane, optionally offset

draw_rectangleB

Draw a rectangle in the most recent sketch

draw_circleB

Draw a circle in the most recent sketch

draw_lineC

Draw a line in the most recent sketch

extrudeC

Extrude a sketch profile

revolveA

Revolve the most recent sketch's profile about an axis. axis_origin and axis_direction are model space (cm). The axis must be coplanar with the profile: a world-aligned direction through the model origin uses Fusion's own construction axis, anything else becomes a construction line in the sketch, and an axis leaving the sketch plane is refused with AXIS_OUT_OF_PLANE. The result reports axis_model_start/axis_model_end.

filletB

Round edges of a body

chamferC

Chamfer edges of a body

shellB

Hollow out a body by removing a face

mirrorB

Mirror a body across a construction plane

rename_bodyA

Rename a body (searches root and all components)

move_bodyB

Translate a named body by (x, y, z)

export_stlB

Export a named body as an STL file

boolean_operationB

Combine two named bodies (join/cut/intersect)

delete_allA

Clear the design (delete all timeline items)

undoA

Step the design back one operation. Parametric designs move the timeline marker back one step (synchronous and verified; the feature stays in the timeline, suppressed, and returns if you roll forward). Direct designs issue Fusion's asynchronous undo command and report undone: 'issued', verified: false — confirm with get_scene_info. Reports undone: false when there is nothing to undo.

execute_codeA

Run arbitrary Python in Fusion 360. The last expression's value is returned (REPL-style). Pre-defined names: app, ui, design, component, adsk, math.

sweepB

Sweep a sketch profile along a path (sketch curve)

loftB

Loft between two or more sketch profiles

create_polygonC

Draw a regular polygon in the most recent sketch

draw_arcB

Draw an arc in the most recent sketch (center + start point + sweep angle)

create_holeB

Create a hole feature on a body face

rectangular_patternB

Pattern a body in rows and columns

circular_patternC

Pattern a body around an axis

new_documentA

Create a new design document and make it active. Every other tool needs an active design, and Fusion sits at the data tab with none after a fresh launch, so this is the way in from a cold start. The document is created through the API on purpose: documents created in the Fusion UI are Part Design documents, which reject addNewComponent, so components and joints are impossible in them.

create_componentB

Create a new component (sub-assembly) in the design

add_jointA

Add a joint between two components using a pair of faces as joint geometry. face_one/face_two are mandatory: a joint cannot be built from component origins, because a bare point carries no component association. Pass a cylindrical face on each side (see get_object_info for the face indices) - for a hinge that is the knuckle bore on each leaf. NOTE: creating a joint MOVES the components so the joint geometry becomes coincident - use create_as_built_joint when the parts are already positioned.

set_joint_valueA

Drive a joint to a value and confirm Fusion kept it. Angles are in degrees unless units='rad'; slide values are lengths in cm and are never converted. Works on as-built joints unless as_built=False. Fusion resets joint values to zero on the next design.computeAll(), so avoid recomputing after this call - the command itself does not.

list_componentsB

List all components in the design

export_stepB

Export a body or component as a STEP file

export_f3dA

Export the design as a native Fusion 360 archive (.f3d)

export_view_sheetA

Render canonical orthographic + isometric views as PNGs and emit a self-contained HTML sheet suitable for sharing with a mechanical engineer. Opens in any browser; Print -> Save as PDF for a static artifact. Restores the viewport camera after rendering.

exportA

Unified export wrapper — dispatches to export_stl / export_step / export_f3d based on format or file extension. Format is auto-detected from file_path extension if not specified. STL and STEP require body_name; F3D exports the whole design.

import_meshA

Import a mesh file (STL, OBJ, or 3MF) as a mesh body. Returns the mesh name and bounding box. Use for reference geometry (e.g. exported SketchUp model).

get_parametersB

List all user parameters in the design

create_parameterC

Create a new user parameter

set_parameterA

Update the value of an existing user parameter

delete_parameterB

Remove a user parameter

draw_circlesA

Add several equally spaced circles to the most recent sketch in a single solve. Fusion re-solves the sketch on every entity insert, so adding circles one per call is superlinear in the entity count; this defers the solve across all inserts and restores the previous state afterwards. Measured at 100 circles: 68 ms against 912 ms for the same inserts one at a time.

add_constraintB

Add a geometric constraint in the active sketch. Entities are referenced by index within the sketch.

auto_constrainA

Automatically add geometric constraints and dimensions to fully constrain a sketch (Fusion 2026+ AutoConstrain API). result_option: 1 = thorough/slow (default), 2 = fast, 3 = may move geometry within tolerance.

add_dimensionB

Add a driving dimension to constrain sketch geometry. Value is in cm for distances, degrees for angles.

create_construction_planeB

Create a construction plane for sketching

create_construction_axisC

Create a construction axis

create_ucsA

Create a UCS at (x, y, z) with optional rotation (Fusion 2026+ UCS API, preview). A hidden reference sketch is created to anchor the UCS — do not delete it.

draw_splineA

Draw a spline in the most recent sketch. Use fit_points for a curve through points, or control_points for a control-polygon spline.

offset_curveB

Offset connected sketch curves by a distance. Direction is determined by the direction_point.

trim_curveA

Trim a sketch curve at its intersections. The segment nearest to the given point is removed.

extend_curveA

Extend a sketch curve to the nearest intersection. The end nearest to the given point is extended.

create_threadA

Add threads to a cylindrical face (cosmetic or modeled)

draft_facesB

Add a draft angle to faces of a body (for mold release / injection molding)

split_bodyB

Split a body using a plane or face

split_faceB

Split faces of a body using a plane

offset_facesB

Push/pull faces of a body by a distance

scale_bodyB

Scale a body uniformly or non-uniformly

create_boxC

Create a box primitive (non-parametric via TemporaryBRepManager)

create_box_parametricA

Create a history-based rectangular box via sketch rectangle + extrude (unlike create_box which uses TemporaryBRepManager). length/width/height accept a number (cm, Fusion internal unit) or a string expression referencing User Parameters (e.g. 'boxL', '56 mm', 'outer - 2 * wall_t'). Call create_parameter first to define named parameters.

create_cylinderC

Create a cylinder primitive (non-parametric via TemporaryBRepManager)

create_sphereB

Create a sphere primitive (non-parametric via TemporaryBRepManager)

create_torusB

Create a torus primitive (non-parametric via TemporaryBRepManager)

create_as_built_jointA

Create a joint that keeps both components exactly where they are, capturing the current pose instead of enforcing a new one. Use this when the parts are already positioned correctly; add_joint instead moves components to make the joint geometry coincident. Fusion needs a face pair (face_one/face_two) for every joint type except rigid.

create_rigid_groupB

Lock multiple components together

measure_distanceB

Measure minimum distance between two entities

measure_angleB

Measure angle between two entities

get_physical_propertiesB

Get mass, volume, surface area, center of mass, and density of a body

create_section_analysisB

Cut a section plane through the model

check_interferenceB

Detect collisions between components/bodies

compare_meshesA

Compare two mesh bodies and return deviation statistics (min/max/mean/RMS signed distance in cm) — e.g. validate an imported STL against a reference mesh. Requires Fusion 2026+.

set_appearanceB

Assign a material appearance to a body, face, or component from the Fusion appearance library

set_colorA

Assign a flat RGB color to a body (creates/reuses a design-local appearance). Useful for visually distinguishing parts before render_view.

project_geometryB

Project edges or bodies onto the active sketch plane

suppress_featureB

Suppress (disable) a feature in the timeline

unsuppress_featureB

Unsuppress (re-enable) a feature in the timeline

patch_surfaceB

Create a patch surface from boundary edges

stitch_surfacesB

Stitch surface bodies into a single body

thicken_surfaceB

Thicken a surface body into a solid

ruled_surfaceB

Create a ruled surface from an edge or sketch curve

trim_surfaceB

Trim a surface body with another body

create_flangeA

Create a sheet metal flange on an edge

create_bendB

Add a bend to a sheet metal body

flat_patternB

Create a flat pattern from a sheet metal body

unfoldB

Unfold specific bends in a sheet metal body

cam_create_setupB

Create a manufacturing setup for a body. Defines the stock, coordinate system, and operation type (milling/turning/cutting).

cam_create_operationC

Add a machining operation to a setup. Strategy determines the toolpath type.

cam_generate_toolpathB

Generate toolpaths for a specific operation or all operations in a setup

cam_post_processA

Post-process toolpaths to generate NC code (G-code)

cam_list_setupsB

List all manufacturing setups in the document

cam_list_operationsA

List operations within a setup

cam_get_operation_infoB

Get details about a specific operation (strategy, tool, parameters, toolpath status)

pingA

Health check — returns immediately without touching Fusion API

get_design_typeA

Check if the design is in parametric or direct mode. Use this to detect accidental mode switches.

set_design_typeA

Switch design type between 'parametric' and 'direct'. Use 'parametric' to recover from accidental direct-mode switches (equivalent to Capture Design History in the UI).

render_viewA

Capture the active viewport as a PNG so you can visually verify the model. Pass a canonical view (iso/front/top/etc.) to reposition the camera first, or 'current' to keep it as is. Returns base64-encoded image bytes alongside metadata; the MCP server delivers it as an image content block.

Prompts

Interactive templates invoked by user choice

NameDescription
create-boxGuide for creating a parametric box in Fusion 360
model-threaded-boltStep-by-step guide for modeling a threaded bolt in Fusion 360
sheet-metal-enclosureGuide for creating a sheet metal enclosure

Resources

Contextual data attached and managed by the client

NameDescription
Connection StatusCheck whether Fusion 360 is reachable
Design TreeFull design tree: bodies, sketches, features, components
User ParametersAll user-defined parameters in the design

TDQS

B3.2/5.0

Scored across 96 tools

Disambiguation4/5

Most tools have clearly distinct purposes with rich descriptions, e.g. add_joint vs create_as_built_joint is explicitly differentiated. However, there are overlapping clusters: export vs export_stl/export_step/export_f3d (a unified wrapper duplicating three primitives), create_box vs create_box_parametric, and draw_circle vs draw_circles (batch). These overlaps slightly muddy selection.

Naming Consistency5/5

Nearly the entire surface follows a consistent snake_case verb_noun pattern (create_sketch, draw_line, split_body, cam_create_setup). Minor deviations like the bare 'export' wrapper and 'ping' are cosmetic and do not break readability.

Tool Count2/5

96 tools far exceeds a workable set, even for a broad CAD domain. While sketching, modeling, surfaces, sheet metal, CAM, measurement, and export are genuine sub-domains, several tools (export family, box family) could be consolidated, and the sheer count risks decision fatigue and misselection.

Completeness4/5

Coverage is impressive across sketching, solid/surface modeling, sheet metal, assembly/joints, parameters, measurement, CAM, and export, giving near-full lifecycle support. Minor gaps exist: no explicit delete_body/delete_component, mirror is body-only, and there is limited feature-editing / timeline-inspection beyond undo and suppress.

Maintenance

ActivityMaintained
ResponsivenessSyncing