Fusion360 MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | The operation mode for the server. Options are 'socket' (to connect to the Fusion 360 add-in) or 'mock' (for testing without Fusion 360 running). | socket |
| directory | Yes | The absolute path to the fusion360-mcp-server directory required for the uv run command. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_scene_infoB | Get design name, bodies, sketches, features, camera info |
| get_object_infoB | Get detailed info about a named body or sketch |
| create_sketchB | Create a new sketch on xy/yz/xz plane, optionally offset |
| draw_rectangleA | Draw a rectangle in the most recent sketch |
| draw_circleB | Draw a circle in the most recent sketch |
| draw_lineB | Draw a line in the most recent sketch |
| extrudeC | Extrude a sketch profile |
| revolveB | Revolve a sketch profile around an axis |
| 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 |
| 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) |
| undoB | Undo the last operation |
| 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_polygonB | 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 |
| create_componentB | Create a new component (sub-assembly) in the design |
| add_jointB | Add a joint between two components |
| 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) |
| get_parametersB | List all user parameters in the design |
| create_parameterB | Create a new user parameter |
| set_parameterB | Update the value of an existing user parameter |
| delete_parameterB | Remove a user parameter |
| add_constraintB | Add a geometric constraint in the active sketch. Entities are referenced by index within the sketch. |
| 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 |
| 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_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_jointC | Create a joint from components' current positions (easier than geometric joints) |
| 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 |
| set_appearanceB | Assign a material appearance to a body, face, or component from the Fusion appearance library |
| 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_operationB | 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_processB | 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create-box | Guide for creating a parametric box in Fusion 360 |
| model-threaded-bolt | Step-by-step guide for modeling a threaded bolt in Fusion 360 |
| sheet-metal-enclosure | Guide for creating a sheet metal enclosure |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Connection Status | Check whether Fusion 360 is reachable |
| Design Tree | Full design tree: bodies, sketches, features, components |
| User Parameters | All user-defined parameters in the design |
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/faust-machines/fusion360-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server