Open-source MCP server for controlling Autodesk Fusion 360 from any AI agent. just Python.
MCP Client ──stdio──▶ MCP Server (Python) ──TCP──▶ Fusion 360 Add-in ──▶ Fusion API
With uv (recommended):
git clone https://github.com/prim-design/fusion-mcp.git
cd fusion-mcp
uv pip install -e .With pip (macOS/Linux):
git clone https://github.com/prim-design/fusion-mcp.git
cd fusion-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .With pip (Windows):
git clone https://github.com/prim-design/fusion-mcp.git
cd fusion-mcp
python -m venv .venv
.venv\Scripts\activate
pip install -e .Requires Python 3.10+.
Copy the addin/ folder to Fusion's add-ins directory:
macOS:
cp -r addin/ "$HOME/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/FusionMCP"Windows:
xcopy /E addin "%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\FusionMCP\"Then in Fusion 360: Shift+S → Add-Ins → select FusionMCP → Run (optionally check "Run on Startup").
Claude Code:
claude mcp add fusion-mcp -- /path/to/fusion-mcp/.venv/bin/fusion-mcpClaude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"fusion-mcp": {
"command": "/path/to/fusion-mcp/.venv/bin/fusion-mcp"
}
}
}Works with any MCP client — run .venv/bin/fusion-mcp as a stdio server.
| Category | Tools |
|---|---|
| Sketch | create_sketch finish_sketch draw_line draw_rectangle draw_circle draw_arc draw_polygon draw_spline draw_slot |
| 3D Features | extrude revolve sweep loft |
| Modifications | fillet chamfer shell draft |
| Patterns | pattern_rectangular pattern_circular mirror |
| Booleans | combine split_body |
| Components | create_component list_components delete_component move_component rotate_component rename |
| Joints | create_joint (all 7 types) set_joint_limits drive_joint list_joints |
| Rigid Groups | create_rigid_group list_rigid_groups delete_rigid_group |
| Inspection | get_design_info get_body_info measure check_interference fit_view screenshot |
| Export/Import | export_stl export_step export_3mf import_mesh |
| Utility | undo delete_body delete_sketch batch |
| Escape Hatch | execute_python — run arbitrary Python inside Fusion with full API access |
create_joint supports all 7 Fusion joint types: rigid, revolute, slider, cylindrical, pin_slot, planar, ball. Uses as-built joints by default (components stay in place).
screenshot captures the viewport as a PNG image returned directly to the AI. Supports preset views (front, back, top, bottom, left, right, iso) and custom camera positions via eye_x/y/z + target_x/y/z.
- Units: All lengths in cm, all angles in degrees
- Z-negation gotcha: On XZ plane, sketch +Y = world -Z. On YZ plane, sketch +X = world -Z.
- Thread safety: The add-in dispatches all API calls to Fusion's main thread via CustomEvent
- Escape hatch:
execute_pythonruns arbitrary Python inside Fusion for anything not covered by curated tools
The MCP server (server/) runs as a stdio process your AI agent connects to. It forwards commands over a TCP socket to the Fusion 360 add-in (addin/), which runs inside Fusion and executes API calls on the main thread using Fusion's CustomEvent system for thread safety.
MIT