Skip to main content
Glama
shimmerjordan

self-host-fusion360-MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FUSION_MCP_MOCKNoRun without Fusion. Set to '1' to enable mock mode.0
FUSION_ADDIN_URLNoWhere the server reaches the add-inhttp://127.0.0.1:9000
FUSION_MCP_TOKENNoShared bearer token (or specify via FUSION_MCP_TOKEN_FILE)
FUSION_MCP_HTTP_HOSTNoHTTP bind host (http transport)0.0.0.0
FUSION_MCP_HTTP_PORTNoHTTP bind port (http transport)8765
FUSION_MCP_TRANSPORTNoTransport method: 'stdio' or 'http'stdio
FUSION_MCP_TOKEN_FILENoPath to file containing the shared bearer token~/.fusion-mcp/token
FUSION_MCP_ALLOW_ARBITRARY_CODENoExpose fusion_run_script (risky). Set to '1' to enable.0

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
fusion_new_documentA

Create a new, empty Fusion 360 design document and make it active. Call this first if no design is open.

fusion_document_infoA

Summarize the active document: display units and counts of bodies, components, sketches, and parameters.

fusion_list_documentsA

List the names of all currently open Fusion documents.

fusion_save_documentA

Save the active document. The document must have been saved once interactively in Fusion first (the first save picks a project folder).

fusion_list_bodiesA

List all solid/surface bodies with index, name, volume (mm³), and bounding box (mm). Use the index or name to target a body in other tools.

fusion_list_componentsA

List all components in the design with their body counts.

fusion_list_sketchesA

List sketches with index, name, and number of closed profiles.

fusion_bounding_boxA

Get the overall bounding box of the whole design, in millimetres.

fusion_summaryA

High-level snapshot of the design: units, counts, and a body list. A good first call to understand the current model.

fusion_get_bodyA

Detailed info for one body (by index or name): volume, area, face/edge/ vertex counts, and bounding box.

fusion_list_facesA

List a body's faces (index, area mm², is_planar, centroid, normal). Use a planar face's index to sketch/drill on it (fusion_create_sketch_on_face, fusion_hole with on_body/on_face).

fusion_physical_propertiesA

Mass (g), volume (mm³), area (mm²), density, and center of mass for a body (by index/name) or the whole design if omitted.

fusion_measure_distanceB

Minimum distance in millimetres between two bodies.

fusion_measure_angleA

Angle (degrees) between the first faces of two bodies.

fusion_interferenceA

Check interference between 2+ bodies (list of indices/names); returns the overlapping volumes (mm³). Use to validate clearances/fits in an assembly.

fusion_list_parametersA

List all parameters (user + model) with expression, value, and unit.

fusion_get_parameterC

Get one parameter by name.

fusion_set_parameterA

Set a parameter's expression, e.g. '25 mm' or 'width * 2'. This is the preferred way to resize an existing parametric model.

fusion_create_parameterB

Create a new user parameter (e.g. name='width', expression='40 mm').

fusion_delete_parameterA

Delete a user parameter by name (model parameters cannot be deleted).

fusion_create_sketchA

Create an empty sketch on a construction plane (xy/xz/yz).

fusion_create_sketch_on_faceA

Create a sketch ON a planar face of a body. Get the face index from fusion_list_faces (is_planar=true). Sketch coordinates are then local to that face.

fusion_sketch_rectangleA

Draw a rectangle (mm). mode='corner' treats (x,y) as a corner; mode='center' treats (x,y) as the center. Creates a new sketch on plane unless an existing sketch is given.

fusion_sketch_circleA

Draw a circle (mm) by center (x,y) and radius OR diameter.

fusion_sketch_lineB

Draw a single line segment from (x1,y1) to (x2,y2), in mm.

fusion_sketch_arcA

Draw a 3-point arc (mm): from start (x1,y1), through (x2,y2), to end (x3,y3). Useful as a sweep/revolve path.

fusion_sketch_polygonB

Draw a regular polygon (mm) by center, circumradius, and side count (>=3).

fusion_sketch_splineB

Draw a spline through points [[x,y],...] (mm). type 'fit_points' or 'control_points' (uses degree).

fusion_sketch_constrainB

Add a geometric constraint between sketch entities (by curve index). type: coincident/parallel/perpendicular/tangent/equal/horizontal/vertical/ concentric/collinear/midpoint/symmetry. For coincident/midpoint, entity_one is a sketch-point index. This is the key to robust, editable parametric sketches.

fusion_sketch_dimensionA

Add a driving dimension. type: distance/horizontal/vertical/angular/radial/ diameter. value is mm (degrees for angular). Drives parametric sizing.

fusion_sketch_offsetB

Offset a sketch curve (by index) by distance mm toward (dir_x, dir_y).

fusion_sketch_projectA

Project a body's edges onto a sketch (linked reference geometry).

fusion_extrudeB

Extrude a sketch profile by distance mm. operation: new/join/cut/ intersect. direction: positive/negative/symmetric. profile: index or 'all'.

fusion_revolveB

Revolve a sketch profile around axis x/y/z by angle degrees.

fusion_filletA

Round edges of a body by radius mm. edges='all' (default) or a list of edge indices.

fusion_chamferB

Chamfer edges of a body by distance mm. edges='all' or a list of indices.

fusion_shellC

Hollow out a body to a wall thickness mm.

fusion_rectangular_patternA

Pattern a body in a line along axis x/y/z: count copies, spacing mm apart.

fusion_circular_patternA

Pattern a body around axis x/y/z: count copies spread over angle degrees.

fusion_mirrorB

Mirror a body across plane xy/xz/yz.

fusion_sweepA

Sweep a profile (from profile_sketch) along the first curve of path_sketch. Draw the path as an open sketch (line/arc/spline) and the profile as a closed sketch, then sweep.

fusion_loftA

Loft a smooth solid between profiles taken from a list of sketch indices/ names (>=2), in order. Each sketch should contain one closed profile.

fusion_holeA

Drill a circular hole (cut) of diameter mm at (x,y). By default it goes through everything on plane (xy/xz/yz). For a hole on an existing body face, pass on_body + on_face (from fusion_list_faces); (x,y) are then in that face's local coordinates. Set depth for a blind hole.

fusion_scale_bodyB

Uniformly scale a body by factor about the origin (2.0 doubles its size).

fusion_draftA

Apply draft to faces of a body. angle deg; pull-direction plane xy/xz/yz. faces is a list of face indices (from fusion_list_faces) or omitted for all.

fusion_split_bodyB

Split a body by a plane (xy/xz/yz) or by another body (tool_body).

fusion_split_faceB

Split faces of a body by a plane (xy/xz/yz).

fusion_offset_facesB

Offset faces of a body by distance mm (creates an offset surface body).

fusion_threadA

Add a thread to a cylindrical face (face index from fusion_list_faces, the non-planar one). internal=True for a hole; modeled=True for real geometry.

fusion_list_featuresA

List timeline features in creation order.

fusion_boxA

Create a box (cuboid): width(X) x depth(Y) x height(Z) in mm, centered on the XY origin and rising in +Z. Auto-creates a document if none is open. For a cube, pass equal width/depth/height. Pass component (a component name from fusion_create_component) to build the box INSIDE that component — useful for building assembly parts to then joint together.

fusion_cylinderA

Create a cylinder of height mm and radius OR diameter mm, centered on the XY origin. Auto-creates a document if none is open.

fusion_sphereA

Create a sphere of radius OR diameter mm, centered on the origin. Auto-creates a document if none is open.

fusion_rename_bodyC

Rename a body.

fusion_set_body_visibleC

Show or hide a body.

fusion_delete_bodyC

Delete a body. Destructive.

fusion_move_bodyA

Translate a body by (dx, dy, dz) millimetres.

fusion_combineA

Boolean-combine a target body with one or more tool bodies (by index or name). operation: join (union), cut (subtract tools from target), or intersect. Set keep_tools=true to preserve the tool bodies.

fusion_offset_planeA

Create a construction plane offset from a base plane (xy/xz/yz) by offset mm. Returns its index for use as a sketch plane.

fusion_list_appearancesA

List available appearance names (optionally filtered by substring).

fusion_set_appearanceA

Apply an appearance (by name) to a body. Use fusion_list_appearances to discover valid names (e.g. 'Steel', 'Aluminum', 'ABS').

fusion_export_stlA

Export to STL (for 3D printing). Optional body (else whole design); refinement low/medium/high. Saved on the host (default ~/fusion-mcp-exports).

fusion_export_stepB

Export the whole design to STEP (.step), the best format for CAD interchange.

fusion_export_igesA

Export the whole design to IGES (.igs). Note: IGES export is restricted on personal-use Fusion licenses — prefer STEP for CAD interchange.

fusion_export_f3dC

Export a native Fusion archive (.f3d), preserving the full design tree.

fusion_export_dxfB

Export a sketch to a 2D DXF file (e.g. for laser cutting / drawings).

fusion_screenshotB

Capture the active Fusion viewport and return it as a PNG image so you can visually inspect the model. Set fit=False to keep the current camera.

fusion_fit_viewA

Zoom/fit the view to show the whole model.

fusion_set_viewA

Set a named camera orientation: home/iso/top/bottom/front/back/left/right.

fusion_get_unitsB

Get the document's default length unit.

fusion_set_unitsA

Set the document's display length unit: mm/cm/m/in/ft. (Note: tool inputs are always in millimetres regardless of this display setting.)

fusion_create_componentB

Create a new (empty) component as an occurrence in the design. Build geometry, then joint components together to form an assembly.

fusion_list_occurrencesA

List component occurrences: name, grounded, visible, body count.

fusion_list_jointsA

List joints (name, type), plus as-built-joint and rigid-group counts.

fusion_move_componentB

Translate a component occurrence by (dx, dy, dz) millimetres.

fusion_ground_componentC

Ground (lock in place) or unground a component occurrence.

fusion_jointA

Create a joint between two components. type: rigid / revolute / slider / cylindrical / planar; axis (x/y/z) is the motion axis. By default it joins at the component origins; pass face_one/face_two (planar face indices on each component's first body) to mate specific faces.

fusion_create_flat_patternA

Create a flat pattern from an EXISTING sheet-metal body. Note: Fusion's API cannot create sheet-metal flanges/bends (model those interactively).

fusion_as_built_jointB

Create an as-built joint (keeps both components in their current place).

fusion_rigid_groupB

Lock 2+ components together as a rigid group (pass a list of names).

fusion_cam_list_setupsA

List CAM setups and their operations. Requires the Manufacturing workspace to have been opened once in Fusion.

fusion_cam_list_operationsA

List operations in a CAM setup (name, has_toolpath, is_valid).

fusion_cam_list_toolsB

List cutting tools from the local tool library (for assigning to operations).

fusion_cam_create_setupC

Create a CAM setup around a body. operation_type: milling/turning/cutting.

fusion_cam_create_operationA

Add an operation to a setup by strategy (e.g. face, pocket2d, adaptive2d, contour2d, drill, bore). Optional tool_diameter/stepdown/stepover in mm. Note: most strategies need a tool assigned before a toolpath will generate.

fusion_cam_generateA

Generate toolpaths: one operation in a setup, a whole setup, or all=true.

fusion_cam_post_processC

Post-process a setup (or one operation) to a G-code file on the host (default ~/fusion-mcp-exports/nc). post_processor is a generic post name.

fusion_undoA

Undo the last operation (guards against a parametric->direct design flip).

fusion_redoA

Redo the last undone operation.

fusion_delete_allA

Delete every timeline feature, clearing the design. Destructive.

fusion_suppress_featureB

Suppress a timeline feature by name (from fusion_list_features).

fusion_unsuppress_featureB

Unsuppress a timeline feature by name.

fusion_surface_thickenB

Thicken a (surface) body's faces into a solid by thickness mm. direction 'positive' or 'symmetric'.

fusion_surface_patchC

Patch a closed sketch profile into a surface body.

fusion_surface_ruledA

Create a ruled surface from a body edge (by index), extended by distance mm.

fusion_surface_stitchB

Stitch surface bodies (list of indices/names) into one, with tolerance mm.

fusion_api_introspectA

Inspect the live Fusion API: list a class's (or an object path's) properties and method signatures. target is a class name (e.g. 'ExtrudeFeatures') or a path ('rootComponent.bRepBodies'); query filters member names. Use this to discover the exact API to drive via fusion_api_call.

fusion_api_docsA

Get the Autodesk cloudhelp URL for an API class or member (e.g. 'ExtrudeFeatures.createInput').

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shimmerjordan/self-host-fusion360-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server