Preface¶
The philosophy behind DeepSeek Harness is “everything is a plugin.” When driving desktop applications, Autodesk Fusion 360 has two obvious limitations: it has no headless mode, and any modeling operation requires a running desktop instance; its Fusion API is single-threaded and can only be called from the main thread. A standard MCP server cannot satisfy these requirements.
leaveing00001/dsh-fusion360 is a bridging plugin designed for this situation. It uses a Fusion 360 add-in and an MCP server that depends only on the standard library to convert DSH requests into Fusion API calls. The plugin is maintained by Leaveing00001 and is released under the MIT license.
Installation and Setup¶
The installation process has two steps: first install the Fusion add-in into Fusion’s AddIns folder, then register the MCP server. npm cannot complete this installation because it requires modifying the directory tree of another application.
# 1. 安装 Fusion 加载项(需在 Fusion 关闭状态下执行)
powershell -ExecutionPolicy Bypass -File tools\install_addin.ps1
# 2. 注册 MCP 服务器到 DSH
python tools\install_dsh_mcp.py
# 3. 重启 DSH(新配置不会热加载)
python tools\restart_dsh.py
After installation, Fusion 360 must be started for the plugin to work.
Core Features¶
The plugin exposes 13 MCP tools, all prefixed with mcp__fusion360__, for querying, modifying, and controlling Fusion 360 documents.
| Tool | Description |
|---|---|
fusion_status |
Check connection status, get Fusion version and logged-in user info |
fusion_document_info |
Get current document units and parameter count |
fusion_list_bodies |
List all bodies, including volume, area, and bounding box |
fusion_list_parameters |
List all model and user parameters |
fusion_set_parameter |
Set a parameter expression and trigger a recompute |
fusion_create_document |
Create a new empty design |
fusion_list_documents |
List currently open documents |
fusion_open_document |
Open a cloud data file by name |
fusion_save |
Save the current active document |
fusion_export |
Export to STEP/IGES/STL/OBJ/F3D/SMT/SAT formats |
fusion_text_command |
Execute native Fusion command-line commands |
fusion_reload_bridge |
Reload the plugin from disk and restart the listener |
fusion_run_python |
Run arbitrary Python code on Fusion’s main thread |
fusion_run_python is the most powerful feature of the plugin. It allows running Fusion API code on Fusion’s main thread. The adsk, app, ui, design, and root variables are pre-bound in the code, stdout output is captured, and execution results can be retrieved by returning a result dictionary.
Typical Usage¶
After installation, first verify the connection:
{
"bridge": "FusionDSHBridge",
"bridgeVersion": "1.0.3",
"fusionVersion": "2705.1.15",
"user": "you@example.com",
"host": "127.0.0.1",
"port": 27182
}
The fusion_run_python tool can run arbitrary Fusion API code. For example, running the examples/build_a_part.py example from the repository can build a 100x60x8mm plate and automatically verify the volume:
// 调用 mcp__fusion360__fusion_run_python,code 参数指向示例文件
// 结果:体积会从 48000 逐渐变为 47243.84 mm³
Use Cases and Considerations¶
The plugin is suitable for scenarios that require directly manipulating Fusion models in DSH, automating parametric modeling, or batch exporting designs.
Keep the following points in mind:
- Runtime environment: Verified to work only on Windows. Although macOS support is declared in the manifest, it has not been actually tested.
- Permissions and threading: The Fusion API must be called from the main thread, and the plugin ensures this through the
CustomEventmechanism. - Unit system: The Fusion API works in centimeters and radians rather than the document’s display units. Read-only tools automatically convert to millimeters, but code passed via
fusion_run_pythonis not subject to this conversion. - Installation limitations: Because files must be written into the Fusion application directory, npm’s
postinstallscript cannot complete this operation; the PowerShell and Python scripts above must be run manually.
Conclusion¶
dsh-fusion360 solves the thread and instance management challenges of driving Fusion 360 from DSH. With the fusion_run_python tool, developers can write Fusion API code directly within a conversation, enabling automated control from parameter modification to complex modeling.