Standalone MCP server running inside Autodesk Fusion that allows AI agents to control Fusion directly via the full SDK, including CAD/CAM/CAE operations, Python execution, viewport control, and API documentation lookup.
Strong schema definitions and descriptions across 13 tools. All tools have explicit input schemas with type information and parameter descriptions. Tool names follow verb_noun convention (call_, execute_, capture_, get_, set_, fetch_, save_, load_, list_, delete_). Descriptions are detailed (100-300 chars typical), explaining WHAT the tool does and WHEN to use it. However, several tools lack output schema documentation, and some parameter descriptions could be more prescriptive about constraints. Error handling guidance is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Execute a generic Autodesk Fusion API call. Resolve a dotted API path, invoke it with args/kwargs, and optionally store the result. Path shortcuts: app, ui, design, rootComponent, $stored_name Constructors accepted in args/kwargs: Point3D, Vector3D, Point2D, ValueInput, ObjectCollection, Matrix3D Example: {"api_path": "rootComponent.sketches.add", "args": ["rootComponent.xYConstructionPlane"], "remember_as": "my_sketch"}
Capture the active Fusion viewport as a PNG. Optional view and fit are temporary: the original camera is restored even on failure. Background can be viewport, transparent, or #RRGGBB. Crop uses pixels in the rendered image, origin top-left. Returns only the cropped region when crop is provided; limit 16 megapixels.
Delete a saved Python script from the Fusion scripts directory.
Run Python code inside the active Fusion 360 session with access to the full SDK. Variables persist across calls within the same session_id.
Search Autodesk Fusion API documentation by class name, member name, or description. Returns scored results ranked by relevance.
Output schemas not documented. Tools like capture_viewport, get_viewport, fetch_api_documentation, list_scripts, and get_active_selection lack explicit return type documentation. LLMs cannot plan downstream calls or extract fields without knowing response structure.
Tool annotations missing. Despite clear risk classifications (WRITE, READ_ONLY, DESTRUCTIVE), no tools declare readOnlyHint, destructiveHint, or idempotentHint in their definitions. This prevents agents from reasoning about side effects.
Error handling guidance absent. No tools provide recovery hints (e.g., 'If API path not found, try fetch_api_documentation()'). Error responses will not guide LLM recovery.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Fetch the bundled Autodesk Fusion Design Guide. Workflow guidance, API patterns, naming rules, and modeling habits for Autodesk Fusion.
Fetch online Autodesk Fusion API documentation for a specific class and optional member from help.autodesk.com.
Get the currently active selection in Autodesk Fusion (selected entities, components, sketches, etc.).
Read active viewport pixel dimensions and camera eye, target, up_vector, projection, and extents or perspective_angle. Lengths are cm and angles degrees. Pass the returned camera object to set_viewport to restore it. All clients share this viewport.
List all saved Python scripts in the Fusion scripts directory.
Load and execute a previously saved Python script from the Fusion scripts directory.
Save Python code to a named script file in the Fusion scripts directory.
Control the active Fusion camera. Changes apply in order: projection/view, fit, orbit, pan, zoom. Standard views follow the user's ViewCube orientation. Orbit angles use right-hand rotation: yaw about camera up, pitch about camera right, roll about the viewing direction. Pan translates the camera along screen right/up in cm. Zoom >1 zooms in; <1 zooms out. Alternatively pass a complete camera snapshot alone. Returns actual camera state. This changes the shared viewport for all clients, without modifying model geometry.
Parameter constraints underspecified. fetch_api_documentation accepts 'category' as a string but description lists enum values (class_name, member_name, description, all) without declaring them as an enum in the schema. LLMs may hallucinate invalid categories.
Destructive operations lack confirmation pattern. delete_script has no dry-run or confirmation step. Agents can permanently delete scripts without a safety gate.