MCP server for Fusion 360 CAD modeling with support for creating primitives, performing operations, and executing macros
The server provides 4 tools with complete JSON schemas and descriptions in Japanese. All tools have explicit input schemas with typed parameters and enums for placement/direction options. However, descriptions are minimal (10-30 chars), parameter descriptions lack actionable detail for LLM consumption, and output schemas are entirely undocumented. Error handling is present but generic. The macro tool shows composition capability but lacks per-item error reporting. No tool annotations (readOnlyHint/destructiveHint) despite all being WRITE operations.
直方体を作成します。配置オプションで底面/中心/上面を指定できます。
立方体を作成します。配置オプションで底面/中心/上面を指定できます。
円柱を作成します。配置オプションで底面/中心/上面を指定できます。
複数のモデリングコマンドを順番に実行します。
No output schemas documented for any tool. LLMs cannot infer what fields are returned or plan downstream chains. Dimension D check: 'Document the output schema.'
Descriptions are 10-30 characters and lack actionable context. E.g., 'execute_macro' = '複数のモデリングコマンドを順番に実行します。' (~25 chars). Dimension B baseline: average tool description is 194 chars; A+ tools have 50-200 char descriptions with WHEN/HOW context. Current descriptions do not enable LLM tool selection reasoning.
Parameter descriptions are minimal or absent. E.g., 'commands' in execute_macro has description 'そのツールに渡す引数。' (5 chars), 'arguments' has 'そのツールに渡す引数。' (8 chars). Dimension B critical: 'Every input parameter needs a description.' Dimension B baseline: 100% of A+ tools have param descriptions. Current implementation does not meet this.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | <=2025-11-25 | v2 |
No tool annotations (destructiveHint=true) despite all tools being WRITE operations (Risk: WRITE). Dimension 2 reward: Spec Alignment bonus for tool annotations. Current: missing. MRTR (Multi Round-Trip Requests) also absent, no confirmation step before executing irreversible macro operations.
execute_macro lacks per-item error reporting. If 5 commands execute and #3 fails, the tool should return success/failure per command, not a blanket error. Dimension D check: 'When processing multiple items, return per-item success/failure.'
Error messages visible in code (e.g., 'Timeout waiting for Fusion 360 response') are generic and lack recovery guidance. Dimension E critical: 'Error responses must tell the LLM what to do next.' Current errors do not suggest alternatives.
Parameters like 'body_name' are optional with no default, and many numeric params (cx, cy, cz) default to 0 without validation bounds. Dimension C: 'Specify minimum and maximum for numeric parameters.' E.g., taper_angle should have min=0, max=180.
All tools interact with Fusion 360 via file I/O (fusion_command.txt / fusion_response.txt). No timeout or async pattern is visible; waitForResponseFileUpdate() blocks for 60s. Tools are not idempotent, if a file write succeeds but Fusion never responds, no automatic retry or compensation is offered. Dimension G: 'Make tools produce the same result on repeated calls.'