Skip to main content
Glama

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. Clone the repo

git clone https://github.com/faust-machines/fusion360-mcp-server.git cd fusion360-mcp-server uv sync

2. Install the Fusion 360 Add-in

The add-in lives in the Fusion360MCP/ directory at the repo root (or wherever you keep it). Copy it 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.

3. Configure your MCP client

Claude Code

Add to ~/.claude.json:

{ "mcpServers": { "fusion360": { "type": "stdio", "command": "uv", "args": [ "run", "--directory", "/absolute/path/to/fusion360-mcp-server", "python", "-m", "fusion360_mcp", "--mode", "socket" ] } } }

Other MCP clients

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

uv run --directory /absolute/path/to/fusion360-mcp-server python -m fusion360_mcp --mode socket
{ "mcpServers": { "fusion360": { "command": "uv", "args": [ "run", "--directory", "/absolute/path/to/fusion360-mcp-server", "python", "-m", "fusion360_mcp", "--mode", "socket" ] } } }

4. 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

Tool

Description

ping

Health check (instant, no Fusion API)

get_scene_info

Design name, bodies, sketches, features, camera

get_object_info

Detailed info about a named body or sketch

list_components

List all components in the design

Sketching

Tool

Description

create_sketch

New sketch on xy/yz/xz plane, optional offset

draw_rectangle

Rectangle in most recent sketch

draw_circle

Circle in most recent sketch

draw_line

Line in most recent sketch

draw_arc

Arc (center + start + sweep angle)

draw_spline

Fit-point or control-point spline

create_polygon

Regular polygon (3–64 sides)

add_constraint

Geometric constraint (coincident, parallel, tangent, etc.)

add_dimension

Driving dimension (distance, angle, radial, diameter)

offset_curve

Offset connected sketch curves

trim_curve

Trim at intersections

extend_curve

Extend to nearest intersection

project_geometry

Project edges/bodies onto sketch plane

Features

Tool

Description

extrude

Extrude a sketch profile

revolve

Revolve a profile around an axis

sweep

Sweep a profile along a path

loft

Loft between two or more profiles

fillet

Round edges (all/top/bottom/vertical)

chamfer

Chamfer edges

shell

Hollow out a body

mirror

Mirror a body across a plane

create_hole

Hole feature on a body face

rectangular_pattern

Pattern in rows and columns

circular_pattern

Pattern around an axis

create_thread

Add threads (cosmetic or modeled)

draft_faces

Draft/taper faces for mold release

split_body

Split a body using a plane

split_face

Split faces of a body

offset_faces

Push/pull faces by a distance

scale_body

Scale uniformly or non-uniformly

suppress_feature

Suppress a timeline feature

unsuppress_feature

Re-enable a suppressed feature

Body Operations

Tool

Description

move_body

Translate a body by (x, y, z)

boolean_operation

Join/cut/intersect two bodies

delete_all

Clear the design

undo

Undo last operation

Direct Primitives

Tool

Description

create_box

Box (via TemporaryBRepManager)

create_cylinder

Cylinder

create_sphere

Sphere

create_torus

Torus

Surface Operations

Tool

Description

patch_surface

Create a patch surface from boundary edges

stitch_surfaces

Stitch surface bodies into one

thicken_surface

Thicken a surface into a solid

ruled_surface

Ruled surface from an edge

trim_surface

Trim a surface with another body

Sheet Metal

Tool

Description

create_flange

Create a flange on an edge

create_bend

Add a bend

flat_pattern

Create flat pattern

unfold

Unfold specific bends

Construction Geometry

Tool

Description

create_construction_plane

Offset, angle, midplane, 3-point, tangent

create_construction_axis

Two-point, intersection, edge, perpendicular

Assembly

Tool

Description

create_component

Create a sub-assembly component

add_joint

Joint between two components

create_as_built_joint

Joint from current positions

create_rigid_group

Lock components together

Inspection & Analysis

Tool

Description

measure_distance

Minimum distance between entities

measure_angle

Angle between entities

get_physical_properties

Mass, volume, area, center of mass

create_section_analysis

Section plane through model

check_interference

Detect collisions between components

Appearance

Tool

Description

set_appearance

Assign material appearance from library

Parameters

Tool

Description

get_parameters

List all user parameters

create_parameter

Create a new parameter

set_parameter

Update a parameter value

delete_parameter

Remove a parameter

Export

Tool

Description

export_stl

Export body as STL

export_step

Export body as STEP

export_f3d

Export design as Fusion archive

CAM / Manufacturing

Tool

Description

cam_create_setup

Create a manufacturing setup (milling/turning/cutting)

cam_create_operation

Add a machining operation (face, contour, adaptive, drilling, etc.)

cam_generate_toolpath

Generate toolpaths for operations

cam_post_process

Post-process to G-code (fanuc, grbl, haas, etc.)

cam_list_setups

List all manufacturing setups

cam_list_operations

List operations in a setup

cam_get_operation_info

Get operation details (strategy, tool, parameters)

Code Execution

Tool

Description

execute_code

Run 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

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