Install
$ agentstack add mcp-frankhommers-autodesk-fusion-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Autodesk Fusion MCP Server
Standalone MCP server that runs inside Autodesk Fusion (formerly Autodesk Fusion 360) as an add-in. AI agents connect over Streamable HTTP -- the current MCP transport specification -- with no external proxy, middleware, or dependencies required.
Highlights
- Streamable HTTP transport -- implements the MCP Streamable HTTP spec
natively; no legacy SSE polling or sidecar servers.
- Protocol negotiation -- speaks the
2025-11-25,2025-06-18and
2025-03-26 revisions and agrees on whichever the client asks for.
- Zero external dependencies -- uses only Python's standard library and
the Fusion SDK (adsk.*).
- Thread-safe bridge -- HTTP requests are relayed to Fusion's main thread
via a Custom Event / work-queue dispatcher, preventing crashes.
- 11 dedicated MCP tools -- each with a clean, focused schema for better
LLM tool selection.
Supported Platforms
- Windows
- Mac OS
Installation
Option A: Install from release zip (recommended)
- Download
AutodeskFusionMCP-v*.zipfrom the
Releases page.
- Extract the zip into your Fusion add-ins folder:
- macOS:
~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/ - Windows:
%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\
- Make sure the extracted folder is named
AutodeskFusionMCP(rename it if
the zip extracts to a different name).
- Open Fusion, press Shift+S, select the Add-Ins tab, and run
AutodeskFusionMCP.
- The server listens on
http://127.0.0.1:8765/mcp.
Option B: Clone from source
- Clone this repository into your Fusion add-ins folder:
- macOS:
~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/ - Windows:
%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\
- Make sure the directory is named
AutodeskFusionMCP. - Open Fusion, press Shift+S, select the Add-Ins tab, and run
AutodeskFusionMCP.
- The server listens on
http://127.0.0.1:8765/mcp.
MCP Client Configuration
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"autodesk-fusion-mcp": {
"type": "http",
"url": "http://127.0.0.1:8765/mcp"
}
}
}
Tools
| Tool | Description | |---|---| | call_autodesk_api | Execute a generic Fusion API call via dotted path | | execute_python | Run Python code inside the live Fusion session | | capture_viewport | Capture the viewport as a PNG image | | get_active_selection | Get objects currently selected in the viewport | | fetch_api_documentation | Search Fusion API metadata via runtime introspection | | fetch_online_documentation | Fetch Autodesk cloudhelp docs for a class/member | | fetch_design_guide | Read the bundled design guide | | save_script | Save a reusable Python script | | load_script | Load a previously saved script | | list_scripts | List saved scripts with metadata | | delete_script | Delete a saved script |
Generic API example
{
"api_path": "rootComponent.sketches.add",
"args": ["rootComponent.xYConstructionPlane"],
"remember_as": "my_sketch"
}
Path shortcuts: app, ui, design, rootComponent, $stored_name.
Constructors accepted in args: Point3D, Vector3D, Point2D, ValueInput, ObjectCollection, Matrix3D.
Selection example
The get_active_selection tool returns details of objects selected in the viewport and stores them as $selection_0, $selection_1, etc. for use in follow-up API calls.
Architecture
AI agent
| Streamable HTTP (POST/GET/DELETE /mcp)
v
lib/mcp_server.py -- HTTP server (threading, stdlib only)
|
fusion_bridge/dispatch.py -- Custom Event queue relay
|
fusion_bridge/operations.py -- per-tool routing
|
fusion_bridge/selection.py -- viewport selection reader
fusion_bridge/python_exec.py -- Python execution
fusion_bridge/viewport.py -- viewport capture
fusion_bridge/doc_lookup.py -- API docs introspection
fusion_bridge/script_store.py -- script CRUD
|
adsk.core / adsk.fusion -- Fusion 360 SDK (main thread)
Testing
Unit tests
Run the test suite (no Fusion required):
python3 -m unittest discover -s tests
CI runs these tests on every push and pull request via GitHub Actions.
Protocol compliance with MCP Inspector
The official MCP Inspector can verify Streamable HTTP compliance against a running server.
Against the live Fusion add-in (port 8765):
npx @modelcontextprotocol/inspector --cli http://127.0.0.1:8765/mcp --transport http --method tools/list
Against the standalone test server (no Fusion required):
python3 test_server.py # starts a dummy server on port 9765
npx @modelcontextprotocol/inspector --cli http://127.0.0.1:9765/mcp --transport http --method tools/list
Reporting Issues
Please report any issues on the Issues page.
Author
Frank Hommers / Initialize
License
This project is licensed under the terms of the MIT license. See [LICENSE](LICENSE).
Changelog
- v 1.3.0
fetch_online_documentationreturns apreviewflag, so an agent can see
that a class is preview API before building on it. Autodesk renames these between releases without a deprecation period
- Design guide: fixed every example, which wrapped its arguments in an
operation field that no tool accepts
- Design guide: new sections on preview APIs and on sheet metal ordering,
covering foldFeatures, joinByBendFeatures, cornerClosureFeatures and flat patterns
- v 1.2.0
fetch_online_documentationnow understands all three Autodesk help
layouts. Property pages contribute property_type, access and property_description; class pages contribute their methods, properties and accessed_from member lists
- Property syntax lines are recognised (they carry no argument list, and
Autodesk leaves the emphasis tag unclosed)
- Fixed every sample on a page inheriting the first sample's URL
- Fixed descriptions coming back empty, as Autodesk emits ``
- v 1.1.0
- Negotiate the MCP protocol version instead of always answering
2025-03-26; 2025-11-25 and 2025-06-18 are now supported, which fixes clients refusing to connect (#1)
- Tolerate the
MCP-Protocol-Versionrequest header introduced in 2025-06-18 /healthnow reportssupported_protocols- Fixed
fetch_online_documentationsilently dropping thesyntaxfield
after Autodesk changed its help markup from ` to `
- Per-command execution duration and ISO 8601 timestamps in the log
- CI now runs on Python 3.14, matching the interpreter Fusion bundles
- v 1.0.0
- Initial release
- 11 dedicated MCP tools with individual schemas
- Streamable HTTP transport (MCP spec 2025-03-26)
- Thread-safe main-thread dispatch
- Viewport selection reader (
get_active_selection) - Python code execution with persistent sessions
- API documentation introspection
- Script management (save/load/list/delete)
- Zero external dependencies
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: frankhommers
- Source: frankhommers/autodesk-fusion-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.