clo3d-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| clo_statusA | Check whether CLO is running and the in-CLO bridge is reachable. Returns instructions when it is not. |
| clo_launchA | Launch CLO (macOS). Passing -python clo_bridge.py is attempted, but CLO 2026.1 did not run it at startup in testing, so after CLO is up start the bridge with the menu item Plugins > start_bridge (or ask the user to click it). |
| clo_stop_bridgeA | Stop the bridge loop inside CLO (frees the Python editor; CLO keeps running). |
| clo_run_pythonA | Run Python inside CLO with the CLO API modules pre-imported (import_api, export_api, fabric_api, pattern_api,
utility_api, rest_api, ApiTypes). A single expression returns its value; otherwise assign to |
| clo_api_searchA | Search names and docstrings in the running CLO API. Requires the bridge. Use clo_api_catalog for pagination. |
| clo_api_docB | Read live documentation for a CLO function. Prefer a qualified name such as pattern_api.GetPatternCount. |
| scene_infoB | Current CLO scene: project, avatars, pattern pieces (with arrangement point and fabric), fabrics, colorways, seams. |
| scene_clearA | Delete all pattern pieces (keep_avatar=True) or start a fresh project (keep_avatar=False). |
| scene_openA | Open a file in CLO: .zprj (project), .zpac (garment), .avt (avatar), .dxf (patterns), pattern .json, .obj/.fbx. mode 'replace' or 'append'. |
| scene_saveC | Save the project (.zprj) or garment (.zpac) to a path. |
| scene_exportB | Export the garment: .obj, .fbx, .glb, .gltf, .dxf (patterns), .json (CLO pattern JSON), .zprj, .zpac. |
| snapshotA | Capture the 3D window from one or more views and return the images. views: front, back, left, right, 3/4-right, 3/4-left, top. Default: front and 3/4-right. |
| snapshot_2dB | Capture the 2D pattern window (pattern pieces layout). |
| avatar_listB | Avatars in the scene and the .avt files available in the CLO asset library. |
| avatar_loadC | Load an avatar by alias (mia, luka, female mannequin, male mannequin, melody, oliver), file name or path. |
| avatar_measurementsA | Body measurements (mm) of the avatar in the scene, used for drafting. Source: CLO's measurement API (needs the Avatar Editor opened once per session in CLO), a cache, or an approximation from the avatar mesh. |
| arrangement_pointsA | List the avatar's arrangement points (names used to place pattern pieces on the body). |
| pattern_listA | List pattern pieces (index, name, arrangement, fabric, bbox). detail=True adds each outline line with its length/location (line indices are what sew() uses) and the seam groups per piece. |
| pattern_infoA | Full information about one piece (by name or index): lines, points (2D mm), arrangement, fabric, seams. |
| pattern_createB | Create a pattern piece from outline points [[x, y, type], ...] in mm (Y up). type 0 = corner (default), 2 = spline curve point, 3 = bezier control point. Lines are numbered by corner order (line i joins corner i to i+1). Optionally place it on an arrangement point (see arrangement_points). |
| pattern_deleteC | Delete pieces by name or index. |
| pattern_set_arrangementC | Place a piece on an avatar arrangement point (e.g. Body_Front_Center_3, Leg_Skirt_Back, Arm_Outside_2_L). |
| pattern_edit_pointsA | Move outline points of a piece. moves: [{"point": i, "x": .., "y": ..}] absolute or [{"point": i, "dx": .., "dy": ..}] relative (mm, 2D pattern space). Use pattern_info to see point indices/positions. Only corner points are indexed; curve (spline) points on an edge stay where they are, so moving corners of a curved hem distorts it. For built garments prefer garment_rebuild({"length": ...}); use this for straight-edged pieces or small tweaks, then simulate. |
| pattern_opsB | Piece operations. op: rename{name}, move_2d{x,y|dx,dy}, flip{horizontal,each}, copy{dx,dy}, symmetry{with_sewing}, unfold{line,half_symmetry}, layer{layer}, particle_distance{mm}, freeze{on}, hide{on}, strengthen{on}, elastic{line,on,total_length,strength}, shirring{line,on}, delete_line{line}, delete_point{point}. |
| sewA | Sew line_a of pattern_a to line_b of pattern_b (segment sewing). Directions follow each line's point order; when the two lines run in opposite physical directions set dir_b=False (e.g. front right side <-> back left side with clockwise outlines). Check the result with simulate + snapshot; there is no API to remove a seam, so save a checkpoint first. |
| seams_listA | List sewing groups and the pieces involved. |
| fabric_libraryA | List .zfab fabrics available in the CLO asset library (optionally filtered by substring). |
| fabric_listC | Fabrics currently in the project's object browser. |
| fabric_applyC | Add a fabric (keyword like 'satin', 'chiffon', 'denim', 'jersey'..., a library file name, or a .zfab path) and assign it to the given pieces (default: all). Optional colour ('#hex' or a colour name) and base texture image. |
| fabric_set_colorB | Set the base colour of a fabric already in the project ('#hex' or colour name). |
| fabric_set_textureC | Apply an image as a fabric's base colour texture (or normal/roughness/opacity map). |
| simulateA | Run the cloth simulation for N steps (about 30 steps per simulated second). quality: 0 normal, 1 stable, 2 accurate, 3 GPU-fast. particle_distance in mm (smaller = finer, slower; 20 default, 10 for final quality). |
| simulation_resetA | Reset the garment to its arrangement positions (undo the simulation drape). |
| checkpoint_saveA | Save the current project as a named checkpoint (.zprj under ~/.clo3d-mcp/checkpoints) so a failed edit or seam can be undone with checkpoint_restore. |
| checkpoint_restoreA | Reload a checkpoint saved with checkpoint_save (replaces the scene). |
| checkpoint_listB | List saved checkpoints. |
| garment_plan_previewD | – |
| garment_buildD | – |
| garment_rebuildB | Re-draft the last built garment with modified spec fields (e.g. {"length": "midi"}, {"neckline": "v", "sleeve": "long"}, {"color": "navy"}, {"fit": "loose"}). Replaces the pieces in CLO and re-simulates. |
| garment_last_specB | The normalized spec and plan summary of the last garment built in this session. |
| clo_api_catalogA | Discover functions, types and constants in the RUNNING CLO version. Paged; no API functions are executed. Search names and docstrings. Modules include rest_api and ApiTypes. Follow next_offset for full coverage. |
| clo_api_describeA | Live docstring/overloads and class fields for a qualified name, e.g. pattern_api.GetPatternCount or ApiTypes.ImportExportOption. Documents the running version. |
| clo_api_callA | Call any public function discovered in clo_api_catalog, or read a constant. Read its live documentation first. JSON supports {$type:'ApiTypes.TypeName',args:[],fields:{...}}, {$enum:'ApiTypes.Enum.Member'}, and {$handle:'id'}. Non-JSON return objects get session handles. A false result is NOT success. Never retry a timed-out mutation blindly; inspect scene/UI first. Use checkpoint_save before risky scene edits. |
| clo_api_releaseA | Release native API object handles when finished; handles expire when CLO restarts. |
| clo_control_guideB | Routing guide for CLO functions absent from the API, including desktop prerequisites and verification. |
| clo_ui_stateB | Inspect CLO accessibility hierarchy, menus, dialogs, values and supported actions. Returns a snapshot token; use it for the next UI action. No bridge needed. Requires macos extra and Accessibility permission. |
| clo_ui_actionA | One CLO-only UI action followed by fresh state. action: press, set_value, ax_action (value must be an exposed action), click, right_click, double_click, drag, key, text, scroll (y is vertical wheel delta). Use observed element IDs or SCREEN coordinates from screenshot; key uses macOS virtual keycodes. modifiers: command,shift,option,control. Requires current snapshot token; state is consumed by an action. Never guess coordinates or perform blind action sequences. |
| clo_ui_screenshotA | Capture CLO's window as an image, including UI-only tools and dialogs; independent of API snapshots. Requires Screen Recording. Coordinates in clo_ui_state are screen points, not image pixels. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |