Skip to main content
Glama
mystify59

self-host-fusion360-mcp

by mystify59

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FUSION_MCP_MOCKNoSet to 'true' to run in mock mode without a real Fusion 360 instance.
FUSION_ADDIN_URLNoURL of the Fusion 360 add-in HTTP endpoint. Default is http://localhost:9000.http://localhost:9000
FUSION_MCP_TOKENNoShared authentication token for the MCP server. Auto-generated if not provided.
FUSION_MCP_HTTP_HOSTNoHost interface for the HTTP server when using http transport. Default 0.0.0.0.0.0.0.0
FUSION_MCP_HTTP_PORTNoPort for the HTTP server when using http transport. Default 8765.8765
FUSION_MCP_TRANSPORTNoTransport protocol for the MCP server: 'stdio' (default) or 'http'.
FUSION_MCP_ALLOW_ARBITRARY_CODENoSet to 'true' to enable the arbitrary Fusion API escape hatch tools (fusion_run_script, etc.). Default 'false'.

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
fusion_new_documentA

Create a NEW empty Fusion design document.

Prefer NOT calling this. If a document is already open, build in THAT one — several parts belong in ONE document as separate components (fusion_create_component). Stray documents pile up and only the user can close them by hand.

Set confirm=true only when the user explicitly asked for a new document/project, or when nothing is open at all (then it is a no-op flag). Without confirm the call is refused while any document is open.

fusion_document_infoA

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

fusion_list_documentsA

List all open Fusion documents with their active / modified / saved state.

fusion_list_projectsA

List the Fusion projects a document can be saved into, and which one is active (where fusion_save_document / _as put a never-saved document).

fusion_save_documentA

Save a document (the active one unless document names another open one).

A never-saved document is saved into the active Fusion project automatically (optionally under name / into project), so no interactive dialog is needed.

fusion_save_document_asA

Save a document as a NEW file called name (in project, else the active project). Use this to keep the original untouched. The current bridge confirms the document and project but does not return a reopenable version identifier.

fusion_close_documentA

Close a document — save=true saves it first, save=false discards unsaved changes.

Closes the active document unless document names another open one. With save=true a never-saved document is written into the active Fusion project first (use name / project to choose where); if that save fails the document is left open rather than losing the work.

fusion_close_other_documentsA

Close every open document EXCEPT the active one — handy for tidying up after stray documents accumulated. save=false discards their unsaved changes.

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_body_infoA

Inspect one body by index or name, including its current operative ID, component, topology counts, volume, visibility, 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_list_edgesA

Enumerate one body's edges for selective operations. Returns a topology snapshot plus index, curve type, length, points, radius when circular, and adjacent face indices/types for each edge.

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. Also reports material name, material source, assignment scope, and whether material evidence was verified.

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 base plane (xy/xz/yz) or construction-plane index.

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_circleB

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_splineA

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_revolveC

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_threadsB

Inspect thread features in the active or named component without modifying it.

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_bodyA

Delete exactly one body and verify the resulting model state. Destructive. This does not delete sketches, features, or construction geometry.

fusion_move_bodyA

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

fusion_rotate_bodyA

Rotate a body by angle degrees (right-hand rule) about an axis through a point. axis: "x"/"y"/"z" or a free direction vector [i, j, k]. origin: [x, y, z] in millimetres, defaults to the world origin. Use this to build inclined geometry that revolve/extrude alone cannot produce.

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 component occurrence, optionally making it the build target.

fusion_set_active_componentA

Set the build target for subsequent sketch, primitive, and feature operations.

Use root to reset targeting to the root component.

fusion_get_active_componentA

Return the current build target; subsequent build operations target it.

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

TDQS

B3.2/5.0

Scored across 108 tools

Disambiguation3/5

Several tools overlap heavily (e.g., fusion_get_body vs fusion_body_info, fusion_document_info vs fusion_summary) and an agent could easily pick the wrong one. Most tools, however, have distinct resource+action targets, and the detailed descriptions help resolve most ambiguities.

Naming Consistency5/5

All tools share a consistent fusion_ prefix and follow a predictable verb_noun pattern (get_, list_, create_, set_, etc.). Even specialized groups like sketch_ and cam_ maintain the same style, with no mixed conventions or irregular nouns.

Tool Count1/5

With 108 tools, the set is far beyond the well-scoped range and will severely burden an agent's context window and tool-selection process. Even for a comprehensive CAD server, this count is excessive and clearly falls into the 50+ category per the calibration guide.

Completeness4/5

The toolset covers a very broad range of Fusion 360 workflows: documents, sketches, solids, surfaces, components, joints, CAM, exports, and API introspection. Minor gaps exist (e.g., no sketch editing/deletion, no component renaming), but most core design and manufacturing workflows are present.

Maintenance

ActivityActive
ResponsivenessNo issues