Skip to main content

fusion360-mcp

Lets Claude Code drive Fusion 360: runs Python inside the live session with the full API available — build geometry, read dimensions, walk the timeline.

Leia em português Buy Me A Coffee

result = snapshot()
# doc: bearing.f3d  [mm]  sketches:7  timeline:16
# bodies: 11
#   outer_ring_flanged       173.978 mm3  17x17x4.6  faces:10
#   ball x7                    2.572 mm3  1.7x1.7x1.7  faces:1

Install

uvx fusion360-mcp install

Installs all three pieces: the add-in inside Fusion, the fusion360-api skill in ~/.claude/skills/, and the MCP entry in Claude Code.

Then in Fusion: Utilities → ADD-INS → Add-Ins, select "Claude MCP" and press Run. Tick Run on Startup to skip this next time. The add-in has to be running for the bridge to answer.

uvx fusion360-mcp status      # what is installed where
uvx fusion360-mcp uninstall   # take it back out

Close Fusion before installing — it holds the add-in files open. The installer detects this and tells you rather than corrupting the copy.

Requirements

  • Fusion 360 (Windows or macOS), version 2704.1.36 or newer — that is the oldest build this was verified on. Older ones are untested, not known to be broken. The API changes between versions: TimelineObject.deleteObject, for instance, is missing before ~2705, so the bridge falls back to entity.deleteMe() for undo and rollback. Check yours with result = app.version.
  • Claude Code
  • Python 3.9+

No runtime dependencies: the MCP server speaks JSON-RPC using only the standard library.

How it works

Fusion only accepts API calls on its main thread. The add-in runs an HTTP server on a background thread and hands each request to the main thread via a CustomEvent; the HTTP thread blocks until the result comes back.

Claude Code  --stdio-->  server.py  --HTTP:8766-->  add-in  -->  Fusion

Requests carry a bearer token from ~/.claude-fusion-secret, created on first run. Without it any local process could execute Python in your Fusion session.

The tool

fusion_eval takes Python source and returns whatever you assign to result. adsk, app, ui, design and root are pre-bound, plus three helpers:

snapshot() Model state as compact text. Identical bodies collapse into one line, so a 50-instance pattern costs the same as one body.
screenshot(w, h, view) Renders the viewport and returns the image inline. Expensive (~10k tokens) — prefer snapshot() when numbers are what matter.
undo() Reverts the last call that changed the model. One level. A call that raises is rolled back automatically.

The skill

The package also installs the fusion360-api skill, which documents the API's traps — internal units in cm and radians, signatures that vary per feature, material names that follow the UI language. Every section came from a real mistake.

The skill is the part that compounds. Code gets written once; the traps keep being discovered, and each one someone writes down is a trap nobody after them loses an hour to.

Found a trap? Send it back

If the API surprised you, that's worth a PR. A method whose real name differs from the obvious one, a signature that changes per feature, an operation that fails silently, a value that only works in one unit — that is exactly what belongs in the skill, and it's the kind of thing no documentation lists because it only shows up in practice.

The bar is low on purpose. You don't need to fix anything or write well:

  • Two calls are enough — the one that failed and the one that worked. Paste the real fusion_eval output, including the error message; that's what someone will search for when they hit the same wall.
  • Say what you were building. Context separates a general trap from a one-off accident, and it's usually the difference between a note that helps and one that confuses.
  • One PR per finding. Unrelated findings on separate branches review faster and don't block each other.
  • Corrections beat additions. If something in the skill is wrong or went stale, saying so is more valuable than a new section — a skill that describes the tool wrongly is worse than an incomplete one. Put it in the title and it gets reviewed first.

The file is src/fusion360_mcp/skill/SKILL.md; the full rules are at the top of it. It's written in English so contributors anywhere can maintain it.

Not sure it's worth reporting? Open the PR anyway. Deciding is the maintainer's job, and an unreported trap costs the next person the same hour it cost you.

Contributing code

git clone https://github.com/artapo/fusion360-mcp
cd fusion360-mcp
python test_mcp_server.py    # passes whether Fusion is open or closed

The test runs without Fusion installed — it accepts either a live answer or "Cannot reach Fusion". CI runs it on Linux, macOS and Windows.

License

Apache 2.0 — as permissive as MIT, plus an explicit patent grant that protects both users and contributors.

Fusion 360 is a trademark of Autodesk, Inc. This project is not affiliated with or endorsed by Autodesk.

Metadata

Release files for fusion360-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fusion360-mcp 0.1.1
File Size Uploaded Provenance Actions
fusion360_mcp-0.1.1.tar.gz 100.8 kB With provenance Details for fusion360_mcp-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fusion360-mcp 0.1.1
File Interpreter ABI Platform Actions
fusion360_mcp-0.1.1-py3-none-any.whl Python 3 none any Details for fusion360_mcp-0.1.1-py3-none-any.whl

Total release size: 198.7 kB

Release files / fusion360_mcp-0.1.1.tar.gz

Download URL fusion360_mcp-0.1.1.tar.gz
Size 100.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d118de882a9e4873b094dd29cc5ec46473d991f56614ab8a8ea63ca8e3211d82
BLAKE2b-256 checksum
How to use checksums
86f7088b783d165b0d1c663d7d73f3eb407b996a818dc6d4efccc3bf14895b85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release files / fusion360_mcp-0.1.1-py3-none-any.whl

Download URL fusion360_mcp-0.1.1-py3-none-any.whl
Size 97.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a509fccf3cb1e70fbb2a41f36fb1d7c060dd885052d05228b80007ed886cd05
BLAKE2b-256 checksum
How to use checksums
30b1a5fa795ab84bbb22892dce0e448d903c123ace30eef0acfd8f71b1be78e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Security for fusion360-mcp 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for fusion360_mcp-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page