Control CLO3D — the industry-standard 3D garment design software. Create patterns, manage fabrics, run simulations, export 3D models, and more.
CLO3D MCP server provides 33 tools with consistent naming (verb_noun pattern) and descriptions, but critical gaps in schema definition and parameter documentation significantly limit LLM usability. All tools use @mcp.tool() decorator with docstrings, but most lack formal JSON Schema specifications for inputs. Parameters are inferred from function signatures rather than explicitly described. Output schemas are completely undocumented. Error handling is minimal, no recovery guidance, no categorization of retryable vs fatal errors. The server bridges CLO3D via a file-based plugin protocol, which introduces reliability risks not addressed in tool documentation. STDIO transport caps overall score at 50; compensating definition quality (clear naming, present descriptions) raises it slightly to 52.
Add a new fabric to the project from a .zfab or .jfab file.
Assign a fabric to a pattern piece.
Duplicate a pattern piece at a given position.
Create a new pattern piece from vertex points.
Delete a pattern piece from the project.
Export the garment as an FBX file.
Export the garment as a GLB (binary glTF) file.
No formal JSON Schema definitions for tool inputs. Tools register with Python function signatures but MCP clients receive no machine-readable parameter schemas. LLMs cannot validate input constraints, enumerate options, or plan multi-step calls reliably.
Output schemas completely undocumented. No tool documents what fields are returned, their types, or expected structure. LLMs cannot plan downstream tool calls or extract chaining IDs (e.g., pattern_index returned by create_pattern → used in assign_fabric_to_pattern).
Parameter descriptions incomplete for many tools. open_file, save_project, add_fabric, replace_fabric document the file_path parameter but do not specify supported formats, absolute vs relative paths, or what happens if the file does not exist. get_pattern_info(pattern_index) lacks bounds or error handling guidance (what if index out of range?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Export the garment as a glTF file.
Export the garment as an OBJ file.
Export multi-view snapshot images of the 3D garment.
Export a tech pack with JSON metadata and images.
Export a 3D viewport screenshot/thumbnail.
Export a 360-degree turntable image sequence.
Flip a pattern piece horizontally or vertically.
Get the list of arrangement points on the avatar.
Get which fabric is assigned to a pattern piece.
Get a list of all fabrics in the current project with their indices.
Export and retrieve garment metadata as JSON, including pattern details, fabric assignments, and measurements.
Get the bounding box (width/height) of a pattern piece.
Get the total number of pattern pieces in the current project.
Get detailed information about a specific pattern piece.
Get a list of all pattern pieces with their indices and names.
Get information about the current CLO3D project including name, path, version, and counts for patterns, fabrics, and colorways.
Import an avatar file into CLO3D.
Import a fabric file into CLO3D.
Import a file into CLO3D. Auto-detects type from extension (.zprj, .zpac, .obj, .fbx, .avt, etc.).
Create a new empty CLO3D project, clearing the current scene.
Open a file in CLO3D. Supports .zprj, .zpac, .avt, .obj, .fbx formats.
Ping the CLO3D plugin to verify connection.
Replace an existing fabric with a new one from file.
Save the current CLO3D project as a .zprj file.
Set the PBR base color of a fabric.
Rename a pattern piece.
No error recovery guidance. Destructive tools (delete_pattern, replace_fabric) provide no error messages to guide LLM recovery. No indication which errors are retryable vs fatal. No dry-run or confirmation pattern for irreversible operations.
File path parameters accept absolute paths with no validation guidance. No instruction on path traversal defense, absolute vs relative, or behavior on invalid paths. LLMs could be tricked into accessing unauthorized files via prompt injection.
Tool composition risk: create_pattern returns no output schema, so LLM cannot know what pattern_index to use in subsequent assign_fabric_to_pattern or delete_pattern calls. This breaks the tool chain.
Dependency on file-based inter-process communication with CLO3D plugin introduces reliability and latency risks not documented. No timeout handling, no retry logic visibility, no guidance on plugin failure modes. Connection errors will propagate as raw exceptions to LLM.
ping tool present but deprecated in MCP spec 2026-07-28. Stateless protocol no longer requires explicit ping; presence signals reliance on old patterns.
Enum constraints missing for multi-option parameters. assign_fabric_to_pattern(assign_option: int) takes 1, 2, or 3 but no enum definition visible. set_fabric_color(r, g, b) accepts any integer but should constrain to 0-255. LLMs cannot validate without formal enums.
Import/export operations have ambiguous semantics. Does import_file preserve existing project data or replace it? Does export_obj include the avatar by default? export_snapshot and export_turntable descriptions do not specify output format (directory structure, naming convention).