self-host-fusion360-MCP
This server provides a comprehensive MCP interface to Autodesk Fusion 360, enabling AI clients like Claude to programmatically create, modify, inspect, and export 3D models and CAM operations through ~100 tools.
Document Management: Create, save, close, list, and get info about documents; set/get display units (mm, cm, m, in, ft).
Primitive Shapes: Quickly create boxes, cylinders, and spheres with specified dimensions.
Sketching: Create sketches on planes or body faces; draw rectangles, circles, lines, arcs, polygons, and splines; add geometric constraints and driving dimensions; offset curves; project body edges.
3D Modeling: Extrude, revolve, sweep, loft, hole, fillet, chamfer, shell, scale, draft, split body/face, offset faces, thread, boolean combine (join/cut/intersect), and surface operations (patch, thicken, ruled surface, stitch).
Patterns & Mirror: Rectangular and circular patterns of bodies, mirror across planes.
Inspection & Measurement: List bodies, components, sketches, faces, features; get bounding boxes, physical properties (mass, volume, area, density, center of mass); measure distances and angles; check interference between bodies.
Parameters: List, get, create, set, and delete user parameters for parametric design.
Assembly & Joints: Create components, manage occurrences, move/ground components, create joints (rigid, revolute, slider, cylindrical, planar), as-built joints, and rigid groups.
Construction Geometry: Create offset construction planes.
Appearances: List available material appearances and apply them to bodies.
View & Visualization: Capture viewport screenshots, fit view, set named camera orientations (iso, top, front, etc.).
Timeline Control: Undo, redo, suppress/unsuppress features, delete all features.
CAM: List setups, operations, and cutting tools; create CAM setups and machining operations (face, pocket, adaptive, contour, drill, etc.); generate toolpaths; post-process to G-code.
Export: Export to STL, STEP, IGES, F3D (Fusion archive), and DXF (2D sketch).
Sheet Metal: Create flat patterns from sheet metal bodies.
Generic API Access (gated): Introspect live Fusion 360 API classes/methods, retrieve official documentation URLs, and execute arbitrary adsk.* API calls for full coverage.
Provides tools to drive Autodesk Fusion 360, including modeling, sketching, CAM, assembly, and inspection operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@self-host-fusion360-MCPCreate a new design and add a 100mm cube with a fillet of 5mm on all edges."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
self-host-fusion360-mcp
A self-hosted, unified MCP server that lets Claude (or any MCP client) drive Autodesk Fusion 360 on your own machine.
简体中文 · Full manual · Tool reference · Troubleshooting

An L-bracket built entirely from a Claude conversation through this MCP — base + wall + boolean join + fillets + 4 mounting holes + mass check + export. See scripts/demo_conversation.py.
It unifies the best ideas from the community Fusion-MCP projects into one well-documented, foolproof package: bilingual docs (中/英), a Windows one-click installer, Docker one-command run, mm-first units, a shared auto-generated token, ~100 tools (plus a generic-API escape hatch for full coverage), auto-create-document, and a doctor that tells you exactly what's wrong. No Fusion subscription required — it works with the free personal-use license too.
✅ Validated against a real Fusion 360 install (Jan 2026 build, Python 3.14): a 57-step coverage test and a full bolt-circle-flange build pass end-to-end, with numerically-verified mass/volume. See Development & testing.
How it works (read this first)
Fusion's adsk.* API can only be called inside Fusion, on its main thread — no external process can touch it directly. So this project has two parts:
┌────────────────┐ MCP (stdio / http) ┌─────────────────────┐ HTTP + token ┌──────────────────────────┐
│ Claude │ ─────────────────────▶ │ MCP server │ ──────────────▶ │ Fusion add-in (in-process)│
│ Desktop / Code │ ◀───────────────────── │ (this repo, server/) │ ◀────────────── │ (this repo, addin/) │
└────────────────┘ │ native OR Docker │ │ 127.0.0.1, main thread │
└─────────────────────┘ └─────────────┬────────────┘
│ adsk.* API
┌─────▼─────┐
│ Fusion 360 │
└───────────┘⚠️ Fusion cannot run in Docker. It is a desktop GUI app. Docker only containerizes the MCP server; the add-in must run inside Fusion on the host. In Docker the server reaches the host add-in via
host.docker.internal. This is the single most common point of confusion — the installer anddoctorkeep reminding you.
Related MCP server: Fusion360 LLM Assistant
Features
Two transports —
stdio(Claude Desktop / Claude Code) andstreamable-http(Docker / remote).~100 tools — one-call primitives (box/cylinder/sphere), sketches (rect/circle/line/arc/polygon/spline, on construction planes or body faces) with constraints & dimensions for robust parametric sketches, extrude/revolve/sweep/loft, fillet/chamfer/shell/holes/draft/scale, split/offset faces, threads, rectangular & circular patterns, mirror, boolean combine, parameters, body ops, construction planes, appearances, surfaces (patch/thicken/ruled/stitch), inspection (physical properties, min-distance, angle, interference, face listing), timeline edit (undo/redo/suppress), export (STL/STEP/F3D/DXF), viewport screenshots Claude can see, units, assembly (components, joints, rigid groups), and CAM (setups, operations, tool assignment, toolpaths, G-code post).
Generic API escape hatch —
fusion_api_call/fusion_api_introspect/fusion_api_docsreach anyadsk.*method by path (full coverage for anything not covered by a curated tool). Gated behind allow_arbitrary_code.Auto-create document — build tools make a new design if none is open; no community server does this.
mm-first — every dimension is millimetres; the cm conversion is done once, at the boundary (no 10× bugs).
Tool annotations — read-only/destructive/idempotent hints so clients can auto-approve safe calls.
Foolproof setup — auto-generated shared token (never copied by hand), safe Claude-config merge (your other servers are preserved), idempotent installer, UTF-8/GBK handling for Chinese Windows.
Web config dashboard —
fusion-mcp webuiopens a local browser UI to see status, edit settings, manage the token, and generate/apply MCP client config for multiple AIs (Claude Desktop/Code, Cursor, VS Code, generic, remote HTTP). Loopback-only, zero new deps.doctor— bilingual diagnostics that pinpoint connection/token/version problems.Mock mode — run the server, tests, and Docker image with no Fusion installed.
Bilingual docs — everything in English and 简体中文.
Safe by default — the arbitrary-code tool is off unless you explicitly enable it.
Quickstart
Option A — Windows one-click (recommended)
Install Fusion 360 and Python 3.10+ (tick Add to PATH).
Double-click
install/windows-install.bat(or runinstall/windows-install.ps1in PowerShell). It copies the add-in into Fusion, generates the token, installs the server, and merges your Claude Desktop config.Start Fusion 360, open a design, then go to Utilities → ADD-INS → Scripts and Add-Ins, select Fusion360MCP, and click Run (set it to Run on Startup to skip this next time).
Fully quit and reopen Claude Desktop. Ask: "Create a 20×20×10 mm box in Fusion and add 2 mm fillets."
Option B — Docker (server in a container)
The add-in still installs on the host (steps 1–3 above, or just copy addin/Fusion360MCP/ into your Fusion API/AddIns folder). Then:
cp .env.example .env # set FUSION_MCP_TOKEN to the host token (~/.fusion-mcp/token)
docker compose up -d # server listens on http://localhost:8765/mcp
docker compose run --rm fusion-mcp fusion-mcp doctor # verifyAdd it to Claude as a custom (remote/HTTP) connector pointing at http://localhost:8765/mcp.
Option C — Manual / cross-platform
pip install -e . # or: pip install -e ".[http,dev]"
cp addin/Fusion360MCP -> <Fusion>/API/AddIns/ # copy the add-in folder
fusion-mcp doctor # diagnose
fusion-mcp run # stdio (configure your client to launch this)See the full manual for the exact Claude config JSON and the Fusion AddIns paths.
Web config dashboard
fusion-mcp webui # opens http://127.0.0.1:8088 in your browserA local, loopback-only page to: check bridge status, edit add-in settings, view/
regenerate the token, and generate or one-click-apply MCP client config for
Claude Desktop, Claude Code, Cursor, VS Code, a generic client, or a remote/HTTP
connector. Adding a future AI = one entry in fusion_mcp.clientconfig.CONNECTORS.

Configuration
All optional; defaults shown. See .env.example.
Variable | Default | Meaning |
|
| Where the server reaches the add-in ( |
|
| Shared bearer token (resolution order) |
|
|
|
|
| HTTP bind (http transport) |
|
| Expose |
|
| Run without Fusion |
Safety & limitations
Verify everything. Claude is great at prismatic/parametric parts and repetitive edits, weaker at organic/freeform surfaces. A 0.1 mm slip breaks a fit — review (and ideally print) before trusting output.
The connector mutates your live model. Save a version before batch operations.
fusion_run_scriptruns arbitrary Python in Fusion; it is disabled unless you opt in.The bridge binds to
127.0.0.1and requires a bearer token. Read docs/TROUBLESHOOTING before exposing it to Docker/other hosts.License limits: IGES/SAT export is blocked on personal-use Fusion licenses (the bridge returns a clear hint); STEP/STL/F3D work on all licenses. 3MF has no Fusion API and is not exposed — use STL for 3D printing.
CAM prerequisites: the
cam_*tools require the Manufacturing workspace to have been opened once (so the CAM product exists); they return a clear hint otherwise. Most operation strategies also need a cutting tool assigned before a toolpath will generate.
Development & testing
Everything below was used to validate the project against a real Fusion 360 install.
# 1) Call any op directly against the live bridge (reads ~/.fusion-mcp/token)
python scripts/rpc.py health
python scripts/rpc.py primitive.box '{"width":20,"depth":20,"height":20}'
# 2) Comprehensive coverage test (fresh doc -> ~57 checks across every tool)
python scripts/smoketest.py
# 3) Realistic end-to-end part: a bolt-circle flange (+ inspection & export)
python scripts/demo_flange.py # writes screenshots/flange.png
# 4) Mock unit tests (no Fusion needed)
python -m pytest -qHot-reload loop (no Fusion restart). The add-in entry purges its package
modules on Stop→Run, and a dev-only system.reload op re-imports all op code —
including _common — in place. So the edit→test cycle is:
cp -r addin/Fusion360MCP/. "$APPDATA/Autodesk/Autodesk Fusion 360/API/AddIns/Fusion360MCP/"
python scripts/rpc.py system.reload # live-reload edited add-in code
python scripts/smoketest.py # re-testOnly changes to the HTTP/bridge layer (bridge/, config.py, __init__.py)
need a Fusion Stop→Run; op edits are picked up by system.reload.
Status & roadmap
Done (v0.6.0) — every tool below validated against a real Fusion 360 install (Jan 2026 build, Python 3.14):
Workspace discipline — the agent works in the document you already have open:
fusion_new_documentrefuses while a document is open unless it passesconfirm=true(settingguard_new_document), so strayUntitleddocuments stop piling up. Finish up from the agent side withfusion_save_document/fusion_save_document_as/fusion_close_document(save=true|false)/fusion_close_other_documents— a never-saved document is written into a real project automatically, no interactive dialog.Active component — build a multi-part model in ONE document:
assembly.activate_componentmakes later sketch/feature/primitive ops target that component (each part isolated, existing bodies untouched); default is the root component.Auto-dismiss blocking dialogs — an external guard process closes save/recover/server-verification/stray modals that would otherwise freeze Fusion (they hold the GIL, so an in-process watchdog can't); safe WM_CLOSE-first, only when an op is stuck or the title matches a nuisance allowlist.
system.restart— full in-process reload (incl. bridge/__init__) over RPC, so code changes apply without a manual Fusion Stop→Run.Two-part architecture (in-Fusion add-in bridge + external MCP server); stdio and streamable-http transports; mock mode (no Fusion needed).
~100 tools: primitives; sketches with constraints & dimensions; extrude/ revolve/sweep/loft; fillet/chamfer/shell/hole/draft/split/offset-faces/thread/ scale; rectangular & circular patterns; mirror; boolean combine; surfaces (patch/thicken/ruled/stitch); parameters; body ops; construction planes; appearances; inspection (mass, min-distance, angle, interference, face listing); timeline edit (undo/redo/suppress); export (STL/STEP/F3D/DXF); viewport screenshots; units; assembly (components, joints incl. by-face, rigid groups); CAM (setups, operations, auto tool-assignment, toolpaths, G-code post).
Generic API escape hatch (
api.call/introspect/docs, gated) for full coverage.Auto-create-document, mm-first units, mutation
_deltafeedback, bilingual hints.Foolproof Windows installer, Docker,
doctor, hot-reload dev loop.Web config dashboard (
fusion-mcp webui) + multi-AI connector registry.28 mock tests; full bilingual docs.
Roadmap / TODO:
CAM end-to-end validated (needs Manufacturing workspace + tool library): setup → operation → toolpath → G-code.
Curated sheet-metal creation — currently blocked by the Fusion API (no create methods on FlangeFeatures/BendFeatures); revisit if Autodesk exposes it. (Only
create_flat_patternon existing SM bodies works today.)Joints by edge / axis, joint limits & motion.
Drawings (2D drawing docs, auto views) + richer DXF/PDF export.
"Apply config" write-through for Cursor / VS Code (not just Claude Desktop).
One-click webui launcher (
.bat) + optional system-tray.macOS installer (
.command) at parity with the Windows installer.Publish to PyPI (
uvx fusion-mcp) + signed release.Tests for the webui API + more op-level mocks.
More AI connectors as the ecosystem grows.
Project layout
addin/Fusion360MCP/ In-Fusion add-in (pure stdlib): HTTP bridge + main-thread dispatch + ops
server/fusion_mcp/ MCP server: FastMCP app, tools, client, doctor, CLI
install/ Windows installer, token gen, safe Claude-config merge
docs/ Bilingual manual, architecture, tool reference, troubleshooting
scripts/ Dev helpers: rpc.py, smoketest.py, demo_flange.py, doctor, gen_tools_doc
tests/ Mock-driven tests (no Fusion needed)License
MIT — see LICENSE. Not affiliated with or endorsed by Autodesk or Anthropic.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA Model Context Protocol server that connects LLMs with Autodesk Fusion, enabling CAD operations through natural language dialogue.Last updated4MIT
- Alicense-qualityDmaintenanceEnables natural language 3D modeling in Fusion 360 through an MCP server that translates user commands into Fusion 360 API calls. Supports creating, editing, and managing 3D objects, executing Python code, and capturing model views through conversational interactions.Last updated1MIT
- Alicense-qualityCmaintenanceAn MCP server that enables automation of FreeCAD model creation, macro execution, and view management through a server-client architecture, supporting integration with external AI tools like Claude and Cursor.Last updated93MIT
- Alicense-qualityDmaintenanceOpen-source MCP server for controlling Autodesk Fusion 360 from any AI agent, enabling 3D modeling operations via natural language.Last updated1MIT
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/shimmerjordan/self-host-fusion360-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server