autodesk-fusion-mcp
MCP server that runs inside Autodesk Fusion (formerly Autodesk Fusion 360) as an add-in, letting AI agents drive your CAD session over Streamable HTTP. Zero external dependencies.
Install / Use
claude mcp add frankhommers -- npx -y github:frankhommers/autodesk-fusion-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Skill content
View source on GitHubAutodesk 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-18and2025-03-26revisions 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\
- macOS:
- 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\
- macOS:
- 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.
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
operationfield that no tool accepts - Design guide: new sections on preview APIs and on sheet metal ordering,
covering
foldFeatures,joinByBendFeatures,cornerClosureFeaturesand flat patterns
-
v 1.2.0
fetch_online_documentationnow understands all three Autodesk help layouts. Property pages contributeproperty_type,accessandproperty_description; class pages contribute theirmethods,propertiesandaccessed_frommember 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
<p class="api">
-
v 1.1.0
- Negotiate the MCP protocol version instead of always answering
2025-03-26;2025-11-25and2025-06-18are 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<strong>to<b> - Per-command execution duration and ISO 8601 timestamps in the log
- CI now runs on Python 3.14, matching the interpreter Fusion bundles
- Negotiate the MCP protocol version instead of always answering
-
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
Related Skills
momen-cursurrules-prompt-file
40.6kCursor rules for building custom frontends with Momen.app as headless BaaS with GraphQL API, actionflows, AI agents, and Stripe integration.
pyspark-etl-best-practices-cursorrules-prompt-file
40.6kCursor rules for PySpark ETL development with code style, joins, window functions, map operations, and Iceberg patterns.
semiotic-react-dataviz-cursorrules-prompt-file
40.6kCursor rules for Semiotic data visualization library with 30+ chart types, MCP server, and AI-assisted chart generation.
Agent-Reach
73.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
