3ds Max plugin for the DCC Model Context Protocol (MCP) ecosystem — embeds a Streamable HTTP MCP server directly inside 3ds Max
8 tools with mixed quality. All have descriptions (10-50 chars, mostly short) and input schemas with types. However, descriptions are terse and lack LLM-optimized guidance on WHEN to use each tool or what happens on error. Parameter descriptions exist but are minimal (e.g., 'optional list of node names' without format/constraint details). No output schemas documented. No error handling guidance. Tool naming is verb-noun compliant but lacks clarity on mutual exclusivity (e.g., apply_* tools all accept node_names, handles, use_selection, undocumented dependencies). No tool annotations (readOnlyHint, destructiveHint). Composition is reasonable (each tool does one thing) but chaining IDs are not explicitly documented in responses.
Apply a common deformer modifier to explicit targets
Apply a material to objects in 3ds Max
Apply subdivision modifiers to explicit mesh targets
Apply a UVW Map projection modifier to explicit targets
read an existing project.json back
return the rehydration payload an agent needs to restore scene, assets, active skills, tool groups and checkpoint IDs
persist current 3ds Max project state to .dcc-mcp/project.json
pure-read snapshot of the current state
Descriptions are terse (10 - 50 chars) and lack LLM-optimized guidance. Missing WHEN to use each tool, prerequisites, and what happens on error. Baseline for A+ tools is 50 - 200 chars with explicit context.
No output schemas documented. LLMs cannot plan downstream calls or extract chaining IDs (e.g., what does project_resume return? What fields enable agent rehydration?). Baseline: 100% of A+ tools document return types.
apply_* tools accept three mutually exclusive parameters (node_names, handles, use_selection) but do not document the precedence or mutual exclusivity. LLMs will pass multiple, causing ambiguous behavior.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery hints (e.g., 'If material not found, call list_materials() first'). Baseline: A+ tools include recovery guidance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. project_save and apply_* are WRITE operations but lack destructiveHint annotation.