MCP server exposing CLO3D garment design tools to Claude. Communicates with CLO bridge plugin over TCP. Supports V1 raw API access, V2 semantic layer with named pieces/edges, and V3+ with reclassification, health checks, transactional builds, correlation IDs, and structured error codes.
The CLO3D MCP server has 28 tools spanning three API versions (V1 raw, V2 semantic, V3 health/state). While tool naming generally follows verb_noun conventions and descriptions are present, critical quality gaps exist: (1) Inconsistent schema completeness, many tools lack visible input schema validation; (2) Parameter descriptions are sparse or missing type constraints; (3) Output schemas are not documented in code or descriptions; (4) Error handling lacks recovery guidance; (5) Most tools return raw bridge responses without shaping. The V3 response envelope pattern is a positive addition (correlation_id, structured errors), but inconsistently applied across all tools. Tools like 'create_pattern', 'add_seam', and 'build_garment' have moderate descriptions but missing parameter validation. Many read-only tools ('ping', 'get_pattern_count', 'get_scene_state') have minimal descriptions. The semantic layer (V2/V3) is an architectural strength but not reflected in schema rigor at the definition level.
Load a fabric file and register it in CLO3D. Returns the fabric index.
Create a seam (SeamlinePairGroup) between two pattern edges. Connects line_a on pattern_a to line_b on pattern_b with optional direction reversals.
Assign a fabric to a pattern piece.
V2 semantic tool: Build a complete garment from measurement specifications. Creates all pieces, classifies edges, and executes the full seam plan. Returns success, all created pieces, seams, warnings, and a correlation_id for tracking.
V3 tool: Clear all in-memory and on-disk garment state. Does NOT modify the CLO3D scene itself. Use with caution.
Create a pattern piece from a list of [x, y, curvature] points. Each point is [x, y, curvature] where curvature is: 0 = straight line, 2 = curve, 3 = bezier. Coordinates are in mm. Returns the new pattern index.
Output schemas not documented. No tool description specifies what fields are returned or their types. LLMs cannot plan downstream calls without knowing response structure.
Parameter validation constraints missing. Numeric parameters (frames, pattern_index, line_index) lack min/max bounds. No enum constraints for choice parameters (role, assign_option, garment_type). Description text does not specify valid ranges or allowed values.
Error handling lacks recovery guidance. Tools return raw bridge responses ('error' key) or structured V3 errors, but neither includes actionable next steps. E.g., 'Pattern not found' does not suggest calling list_patterns() or get_garment_state().
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
V2 semantic tool: Create a named pattern piece from points and automatically classify its edges. Returns pattern_index, name, role, and a dict of edge labels to line indices.
Delete a pattern piece by its index.
Export pattern pieces as DXF (CAD format) file.
Export the current scene as OBJ file(s). Returns list of exported file paths.
Export complete pattern geometry and metadata as JSON from CLO3D. Used internally for edge classification and reclassification.
Export rendering image(s) of the garment. Optionally render all colorways.
Export a technical pack document (specification sheet) for the garment.
V2 semantic tool: Return the current in-memory garment state: all registered patterns, their edges, fabrics, and seams. Useful for verifying state after creation or before executing seams.
Return the number of line segments (edges) in a pattern piece.
Return the number of pattern pieces in the current CLO3D scene.
Get the name of a pattern by its index.
Return the number of points in a specific line/edge of a pattern.
Return the complete current state of the CLO3D scene: all patterns, fabrics, seams, and their properties.
V3 tool: Comprehensive server and bridge health check. Returns server version, CLO bridge status, state file status, and any warnings. Returns normalized V3 response envelope with correlation_id.
Import a CLO3D file (e.g., .zprj project) into the current scene.
V2 semantic tool: List all available garment type templates (e.g., 't_shirt', 'a_line_skirt'). Each entry includes piece definitions and default measurements.
V3 tool: Reload garment state from disk (garment_state.json) and re-sync pattern name→index mappings with CLO. Useful after opening a saved CLO project or for multi-session continuity.
Verify the CLO3D bridge plugin is running and responsive.
V2 semantic tool: Create a seam between two named pattern pieces using semantic edge labels (instead of raw line indices). Validates edge lengths within configurable tolerance. Returns seam_name and any warnings.
V3 tool: Re-derive edge labels for an existing piece from its stored PatternJSON snapshot or from live CLO export. Useful after manual edits to a piece in CLO to update semantic edge names.
Set or update the name of a pattern piece by index.
Run a simulation in CLO3D for a specified number of frames.
No idempotency or confirmation for destructive operations. delete_pattern and clear_state are DESTRUCTIVE but lack dry-run mode or confirmation step. Agents may accidentally destroy state.
Inconsistent response envelope. V1/V2 tools return raw bridge responses or manual JSON dicts. V3 tools use _v3_response() envelope with correlation_id. This inconsistency makes error handling and tracing unreliable across the API.
Parameter descriptions are sparse or generic. E.g., 'assign_option' has description '(optional, default 1)' but no explanation of what option values mean. 'role' in create_piece says '(optional)' without documenting valid role values or semantics.
List/discovery tools do not paginate or limit results. export_pattern_json, get_scene_state, get_garment_state could return hundreds of objects with no pagination, risking context window exhaustion.