MCP Hub
Back to servers

Fusion360 MCP Server

Connects AI coding agents to Autodesk Fusion 360 for CAD automation, enabling natural language control over sketching, 3D modeling, and CAM operations. It uses a Python-based bridge and a custom add-in to execute over 80 tools ranging from simple geometry creation to complex assembly and parameter management.

glama
Stars
6
Updated
Feb 2, 2026
Validated
Feb 4, 2026

Fusion360 MCP Server

Beta — This project is under active development. APIs and tool behavior may change between releases. Use at your own discretion. Feedback and bug reports welcome via GitHub Issues.

MCP server that connects AI coding agents to Autodesk Fusion 360 for CAD automation.

Tested with Claude Code. Works with any MCP-compatible client — OpenCode, Codex, Cursor, or anything that speaks the Model Context Protocol.

How it works

Any MCP Client ←(stdio MCP)→ This Server ←(TCP :9876)→ Fusion360MCP Add-in ←(CustomEvent)→ Fusion Main Thread

Two components:

  1. MCP Server (this repo) — Python process that speaks MCP protocol to Claude and forwards commands over TCP
  2. Fusion360MCP Add-in (installed in Fusion's AddIns folder) — runs inside Fusion 360, executes API calls safely on the main thread

Prerequisites

  • uv (Python package manager)
  • Autodesk Fusion 360
  • An MCP-compatible client (Claude Code, OpenCode, Codex, Cursor, etc.)

Installation

1. Install the Fusion 360 Add-in

Download the latest add-in from Releases, or clone the repo and copy the Fusion360MCP/ directory into Fusion's AddIns folder:

macOS:

cp -r Fusion360MCP ~/Library/Application\ Support/Autodesk/Autodesk\ Fusion\ 360/API/AddIns/

Windows (PowerShell):

Copy-Item -Recurse Fusion360MCP "$env:APPDATA\Autodesk\Autodesk Fusion 360\API\AddIns\"

Then start it in Fusion: Shift+S → Add-Ins → Fusion360MCP → Run

You should see [MCP] Server listening on localhost:9876 in the TEXT COMMANDS window.

2. Connect your MCP client

The MCP server is published on PyPI — no need to clone this repo.

Claude Code

claude mcp add fusion360 -- uvx fusion360-mcp-server --mode socket

Other MCP clients

The server runs over stdio, so any MCP-compatible client can launch it. The command is:

uvx fusion360-mcp-server --mode socket
Cursor (~/.cursor/mcp.json)
{
  "mcpServers": {
    "fusion360": {
      "command": "uvx",
      "args": [
        "fusion360-mcp-server",
        "--mode", "socket"
      ]
    }
  }
}

3. Verify

Call the ping tool from your client. If it returns {"pong": true}, everything is connected.

Uninstalling

  1. Remove the fusion360 entry from your MCP client config
  2. Stop the add-in in Fusion (Shift+S → Add-Ins → Fusion360MCP → Stop)
  3. Delete the add-in folder from Fusion's AddIns directory

Available Tools (80)

Scene & Query

ToolDescription
pingHealth check (instant, no Fusion API)
get_scene_infoDesign name, bodies, sketches, features, camera
get_object_infoDetailed info about a named body or sketch
list_componentsList all components in the design

Sketching

ToolDescription
create_sketchNew sketch on xy/yz/xz plane, optional offset
draw_rectangleRectangle in most recent sketch
draw_circleCircle in most recent sketch
draw_lineLine in most recent sketch
draw_arcArc (center + start + sweep angle)
draw_splineFit-point or control-point spline
create_polygonRegular polygon (3–64 sides)
add_constraintGeometric constraint (coincident, parallel, tangent, etc.)
add_dimensionDriving dimension (distance, angle, radial, diameter)
offset_curveOffset connected sketch curves
trim_curveTrim at intersections
extend_curveExtend to nearest intersection
project_geometryProject edges/bodies onto sketch plane

Features

ToolDescription
extrudeExtrude a sketch profile
revolveRevolve a profile around an axis
sweepSweep a profile along a path
loftLoft between two or more profiles
filletRound edges (all/top/bottom/vertical)
chamferChamfer edges
shellHollow out a body
mirrorMirror a body across a plane
create_holeHole feature on a body face
rectangular_patternPattern in rows and columns
circular_patternPattern around an axis
create_threadAdd threads (cosmetic or modeled)
draft_facesDraft/taper faces for mold release
split_bodySplit a body using a plane
split_faceSplit faces of a body
offset_facesPush/pull faces by a distance
scale_bodyScale uniformly or non-uniformly
suppress_featureSuppress a timeline feature
unsuppress_featureRe-enable a suppressed feature

Body Operations

ToolDescription
move_bodyTranslate a body by (x, y, z)
boolean_operationJoin/cut/intersect two bodies
delete_allClear the design
undoUndo last operation

Direct Primitives

ToolDescription
create_boxBox (via TemporaryBRepManager)
create_cylinderCylinder
create_sphereSphere
create_torusTorus

Surface Operations

ToolDescription
patch_surfaceCreate a patch surface from boundary edges
stitch_surfacesStitch surface bodies into one
thicken_surfaceThicken a surface into a solid
ruled_surfaceRuled surface from an edge
trim_surfaceTrim a surface with another body

Sheet Metal

ToolDescription
create_flangeCreate a flange on an edge
create_bendAdd a bend
flat_patternCreate flat pattern
unfoldUnfold specific bends

Construction Geometry

ToolDescription
create_construction_planeOffset, angle, midplane, 3-point, tangent
create_construction_axisTwo-point, intersection, edge, perpendicular

Assembly

ToolDescription
create_componentCreate a sub-assembly component
add_jointJoint between two components
create_as_built_jointJoint from current positions
create_rigid_groupLock components together

Inspection & Analysis

ToolDescription
measure_distanceMinimum distance between entities
measure_angleAngle between entities
get_physical_propertiesMass, volume, area, center of mass
create_section_analysisSection plane through model
check_interferenceDetect collisions between components

Appearance

ToolDescription
set_appearanceAssign material appearance from library

Parameters

ToolDescription
get_parametersList all user parameters
create_parameterCreate a new parameter
set_parameterUpdate a parameter value
delete_parameterRemove a parameter

Export

ToolDescription
export_stlExport body as STL
export_stepExport body as STEP
export_f3dExport design as Fusion archive

CAM / Manufacturing

ToolDescription
cam_create_setupCreate a manufacturing setup (milling/turning/cutting)
cam_create_operationAdd a machining operation (face, contour, adaptive, drilling, etc.)
cam_generate_toolpathGenerate toolpaths for operations
cam_post_processPost-process to G-code (fanuc, grbl, haas, etc.)
cam_list_setupsList all manufacturing setups
cam_list_operationsList operations in a setup
cam_get_operation_infoGet operation details (strategy, tool, parameters)

Code Execution

ToolDescription
execute_codeRun arbitrary Python in Fusion (REPL-style)

MCP Protocol Features

  • Tool annotations — each tool is tagged with readOnlyHint, destructiveHint, and idempotentHint so MCP clients can auto-approve safe operations
  • Resourcesfusion360://status, fusion360://design, fusion360://parameters for passive state inspection
  • Resource templatesfusion360://body/{name}, fusion360://component/{name} for dynamic entity lookup
  • Promptscreate-box, model-threaded-bolt, sheet-metal-enclosure workflow templates
  • Structured errors — tool results include isError=True when the add-in reports failures
  • Mock mode--mode mock returns plausible test data without Fusion running (all responses include "mode": "mock")

Development

uv sync --dev       # install deps
uv run pytest -v    # run tests
uv run ruff check   # lint

Notes

  • All Fusion API units are centimeters (Fusion's internal unit).
  • One operation per tool call. Batching multiple operations crashes the add-in.
  • Commands time out after 30 seconds.
  • Add-in logs to ~/fusion360mcp.log.

Acknowledgements

Inspired by BlenderMCP — the socket bridge architecture originated there.

Also built on ideas from the existing Fusion 360 MCP ecosystem:

License

MIT

Reviews

No reviews yet

Sign in to write a review