mcp-for-clo3d
This server lets an AI assistant drive CLO3D end to end: inspect the scene, build and edit patterns, simulate cloth, and export the results.
Scene & files: new/open/save projects, import files, get project and garment info, manage checkpoints (save/restore without undo).
See the result: capture the 3D window from multiple views, show strain/stress fit maps, view numbered 2D pattern pieces, export thumbnails and snapshots.
Pattern editing: create/copy/delete/flip/mirror/unfold patterns, rename, move in 2D, inspect geometry, sew lines, add internal shapes, offset lines, convert shapes, delete points/lines, set state (freeze, strengthen, solidify, hide, layer, particle distance).
Sewing & finishing: sew outline/internal lines, add topstitch styles and stitching, seam taping, hems, appliqués, elastic, shrinkage, annotations.
Cloth behavior: simulate with adjustable quality, set fabric physics, assign fabrics, replace/export/import fabrics, set fabric color and metadata.
Collision & hanging: add/remove rods and boxes, import OBJ collision objects, hang panels on rods or make rod pockets.
Production output: nest patterns, set fabric width/spacing, export 1:1 PDF pattern sheets, DXF (AAMA/ASTM/Gerber), OBJ/FBX/GLB/glTF, tech packs, turntable images.
Avatars & colorways: list/import/show avatars, place pieces on arrangement points, list/switch colorways.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-for-clo3d Create a rectangle pattern 400 × 600 mm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP for CLO3D
Control CLO3D from an AI assistant such as Claude, Codex or Cursor: ask in plain language and it inspects your project, builds and sews pattern pieces, manages fabrics, runs the simulation, takes pictures of the result and exports models, pattern PDFs and DXF files.
AI assistant <-- MCP --> MCP server (Python) <-- files --> CLO plug-in (native DLL) --> CLO3DCLO stays fully usable while the plug-in listens in the background.
Before you start
You need:
What | How to check or get it |
Windows 10 or 11 (64-bit) | The plug-in is a Windows DLL; macOS is not supported. |
CLO3D 2025.2.236, exactly this version | CLO shows its version at the bottom left of its window (Version: 2025.2.236). The plug-in only works with the CLO build it was made for; for another version, build it yourself. |
An MCP client | Claude Desktop, Claude Code, Codex, Cursor or any other app that supports MCP servers. |
uv (runs the Python server and installs Python for you) | In PowerShell: |
Git (uv uses it to fetch the server) | git-scm.com/download/win, or |
You do not need Visual Studio or CLO's SDK unless you build the plug-in yourself.
Related MCP server: CLO3D MCP Server
Setup
1. Download the plug-in
Download CloMcpPlugin.dll from the
latest release. The release notes
say which CLO version it is for (currently 2025.2.236). GitHub builds every release from this
repository with CLO's official SDK, and each release lists the DLL's SHA-256 checksum.
2. Install it so CLO loads it at startup
Close CLO.
Copy
CloMcpPlugin.dllintoC:\Users\Public\Documents\CLO\Plugins\(create thePluginsfolder if it doesn't exist) and rename the copy toCloLibraryAPI_Plugin.dll. CLO loads a plug-in with exactly that name every time it starts.If you cloned this repository,
cpp_plugin\install_autostart.bat path\to\CloMcpPlugin.dlldoes the copy and rename for you (install_autostart.bat /removeundoes it).If a
CloLibraryAPI_Plugin.dllis already there, it belongs to another plug-in: keep a copy of it, because this replaces it.
Start CLO. Nothing visible changes: the listener starts quietly in the background.
Open Plugins → Plug-in Manager → + ADD, choose a copy of CloMcpPlugin.dll that is outside
the Plugins folder, give it a name and click OK. Plugins → Plug-in → <your name> then
stops or starts the listener and shows its new state. Without the autostart copy, this menu entry
alone also works, but CLO only loads it when you click it, so click it once per CLO session.
3. Check that it is running
Paste %TEMP%\clo3d_mcp into the File Explorer address bar and open status.json. It should say
"state": "listening", and its ticks number should grow each time you reopen the file. If the
folder or file is missing, see Troubleshooting.
4. Connect your AI assistant
Add the server to your MCP client. uvx downloads and runs it; there is nothing else to install.
Claude Code
claude mcp add clo3d -- uvx --from git+https://github.com/ttiimmaacc/mcp-for-clo3d.git mcp-for-clo3dClaude Desktop: open Settings → Developer → Edit Config, add this to
claude_desktop_config.json, then restart Claude Desktop:
{
"mcpServers": {
"clo3d": {
"command": "uvx",
"args": ["--from", "git+https://github.com/ttiimmaacc/mcp-for-clo3d.git", "mcp-for-clo3d"]
}
}
}Codex (~/.codex/config.toml)
[mcp_servers.clo3d]
command = "uvx"
args = ["--from", "git+https://github.com/ttiimmaacc/mcp-for-clo3d.git", "mcp-for-clo3d"]
tool_timeout_sec = 200 # simulations and exports can take up to 180 sConnect only one client to CLO at a time, because they share the same request file.
5. Try it
With CLO open, describe the job the way you would to a colleague. The assistant works through the steps in CLO, looks at the result (it can capture the 3D window and draw the 2D pieces), and reports back. Some examples:
Check a garment
"Simulate this, then show me the front, back and side with the strain map on. Where is it pulling?"
"Check the sewing: are any seams twisted, with one side sewn in the opposite direction?"
Get a style ready for production
"Write 'CUT 1' and the piece name on every piece, nest them on 1400 mm wide fabric with 10 mm spacing, and tell me how long the marker is and how well the fabric is used." (CLO lays out one fabric at a time: switch fabrics in its Print Layout Editor to measure the next.)
"Export that marker as a 1:1 PDF for the plotter and the whole pattern as an AAMA DXF for our CAD system."
Build something from a spec
"Make a two-panel noren curtain, 1050 × 2020 mm finished, with 30 mm side hems, a 70 mm bottom hem and a star appliqué on front and back, hanging from a 32 mm rod." (
examples/noren_curtain.pyis this build as a script.)"Topstitch every appliqué patch 4 mm in from its edge with 0.4 mm thread."
"Build a boxy reversible wool jacket, size M: shoulders 80 cm, chest 54 cm, back 64 cm, sleeves 76 cm from the collar, grey plaid outside and plain charcoal inside, overlocked edges and a split kangaroo pocket." (
examples/workwear_jacket.pyis this build as a script. The dropped shoulders still need a nudge with CLO's Move tool before draping, since the API has no free 3D move.)
Fabrics and presentation
"What fabrics does this project use, and what are their weights and thicknesses? Label them all 60% cotton / 40% linen."
"Export a GLB for the web shop and turntable images of the finished garment."
Good to know:
CLO's API has no undo, so ask the assistant to save a checkpoint before bigger changes.
For nesting, switch CLO to Printing Layout mode once per session (mode dropdown at the top right); the assistant will tell you when it needs this.
Some things CLO's API can't do at all, like folding cloth or placing pins; see Tools for what's covered and what isn't.
Or build the plug-in yourself
Needed for any CLO version other than the one the release was built for.
Install Visual Studio Build Tools with the Desktop development with C++ workload.
Download the CLO SDK that matches your CLO version from developer.clo3d.com/download.html (CLO 2025.2.236 → SDK v9.1.0,
CLO_SDK_v2025.2.236_WIN.zip) and unzip it. CLO's SDK can't be redistributed, so it is not included here.Clone this repository, point
CLO_SDK_DIRat the unzipped folder (the one containingCLOAPIInterface\) and build:set CLO_SDK_DIR=C:\path\to\CLO_SDK_v2025.2.236_WIN cpp_plugin\build.bat python cpp_plugin\check_runtime.pycheck_runtime.pyconfirms that every C++ runtime function the DLL imports exists in the runtime DLLs your CLO install ships, because CLO loads its own copies.Install
cpp_plugin\dist\CloMcpPlugin.dllas in step 2.
Use the SDK for your exact CLO version. The plug-in calls CLO through C++ vtables. Headers from another CLO version put functions at different slots and call the wrong ones.
Tools
Area | Tools |
Scene |
|
See the result |
|
Collision objects |
|
Hems & appliqué |
|
Plotting & PDF |
|
CAD / DXF |
|
Topstitch styles |
|
Fabric details |
|
Hanging on a rod |
|
Checkpoints |
|
CLO's dialogs & restart | Commands no longer hang on CLO's pop-ups. Dialogs that only report something (OK / Close) are answered and returned in the result's |
Geometry |
|
Patterns |
|
Sewing |
|
Lines and shapes |
|
Piece state |
|
Elastic and shrinkage |
|
3D placement |
|
Fabrics |
|
Avatar & pose |
|
Export |
|
Simulation |
|
Colorways |
|
Line-based tools take the line indices that get_pattern_geometry (or the view_patterns picture) shows. Checkpoints are saved next to the request files. CLO saves them like "Save As", so its open file becomes the checkpoint copy; save_checkpoint returns the original path to save back to. Restoring a large scene (avatar plus simulation data) can take a few minutes. The plug-in checks
every pattern and line index before calling CLO, because CLO doesn't check them. Line-creating
tools report how many internal shapes CLO actually created, because CLO creates nothing, without
an error, for requests it can't do.
Not possible through CLO's API (2025.2): creating pins (they can only be removed), folding
cloth or pleats (a fold angle on a line only bends the cloth about 20° even at full strength,
whether set through the API, CLO's Property Editor or its Fold Arrangement tool), free 3D move or rotate of a piece (placement goes through avatar arrangement points),
and editing or removing an existing seam. Two SDK functions exist but did nothing in CLO 2025.2 testing, so they aren't exposed: MovePatternPoint (points never move) and DistribueInternalLinesbetweenSegments (created nothing on any pair of lines). To hold pieces in place, freeze or strengthen them. For
turned-back layers such as hems, use add_hem, which models the fold as a second layer.
How it works
The CLO side is a small C++ plug-in built on CLO's official SDK. It runs a timer on CLO's UI thread, so every request runs on the main thread between UI events, in roughly 50 ms.
The MCP server (
src/clo3d_mcp) writesrequest.jsonto%TEMP%\clo3d_mcp(override withCLO3D_MCP_DIR) and waits up to 180 s forresponse.json. Both sides write to a temp file and rename it into place.The plug-in (
cpp_plugin/CloMcpPlugin.cpp) creates a hidden message-only window with a 50 ms timer. CLO's event loop dispatches the timer, so the plug-in reads the request, calls the CLO API on the main thread and writes the response. It never blocks CLO.The plug-in pins itself in memory, because CLO loads the DLL to read its menu name and unloads it again during registration. Only one listener runs per CLO process.
Native faults inside a command are caught (built with
/EHa) and returned as an error instead of taking CLO down.To stop the listener without the menu, create an empty file named
stopin the request folder.
Development
uv run --with pytest pytest # server tests (mock plug-in)
cpp_plugin\test\build_tests.bat # builds two stand-in hosts that load the real DLL outside CLO
python cpp_plugin\test\smoke_test.py # DLL + stand-in host + MCP client, end to endhost.exe loads the plug-in and runs a Win32 event loop. host_add.exe reproduces the
Plug-in Manager's load → read name → unload sequence. Both use CLO's real CLOAPIInterface.dll
with fake API objects, so you can test the plug-in and the MCP client without CLO.
Releases
.github/workflows/build.yml runs on every push and pull request.
It downloads CLO's SDK from CLO's official link (checksum-pinned, never committed), builds the DLL,
checks its imports against CLO's runtime export lists in cpp_plugin/clo_exports/<version>/, and
runs the tests and smoke test. Pushing a tag publishes a release:
git tag v0.1.0
git push origin v0.1.0To support a new CLO version, update CLO_VERSION, CLO_SDK_URL and CLO_SDK_SHA256 in the
workflow. Then, on a machine with that CLO installed, run
python cpp_plugin\check_runtime.py --write-exports cpp_plugin\clo_exports\<version> and commit
the result.
Troubleshooting
%TEMP%\clo3d_mcp\status.jsonis missing: CLO didn't load the plug-in. Check that the file inC:\Users\Public\Documents\CLO\Plugins\is named exactlyCloLibraryAPI_Plugin.dll, that it matches your CLO version, and that you restarted CLO after copying it.The client times out: check
status.json. Ifticksisn't rising, start the listener from Plugins → Plug-in (with the optional menu entry), or restart CLO (restart_clodoes it for you, saving and reopening the scene).uvxis not recognised: open a new terminal after installing uv, or restart your MCP client so it picks up the new PATH.Rebuilding fails with
LNK1104: cannot open file ...CloMcpPlugin.dll: CLO has the DLL loaded. Close CLO, or rename the loaded DLL (Windows allows renaming a file that's in use) and rebuild. CLO keeps using the old copy until it restarts. With autostart, runinstall_autostart.batagain after rebuilding, with CLO closed, or ask the assistant torestart_clowithinstall_pluginset tocpp_plugin\dist\CloMcpPlugin.dll.CLO crashes when adding the plug-in, or calls do odd things: the SDK doesn't match your CLO version.
Credits and licence
Licensed under MIT; see LICENSE.
The Python MCP server began as Ubani-Studio/clo3d-mcp by Violet Sphinx (MIT). This project has since grown into a separate codebase: its Python CLO plug-in was replaced by a new native C++ plug-in, and most tools were added or rewritten.
CLO's SDK is not included and is not covered by this licence. See NOTICE.
Available Tools
104 toolsadd_appliqueA
Add an appliqué patch on a piece, sewn to it where it sits (a new internal line on the base marks each sewn edge). Optionally the matching patch on the other side ("front and reverse patches"), sharing the same stitch line.
Args: pattern_index: Base piece. points: The patch outline in the base's 2D coordinates (mm), inside the piece. sewn_lines: Sew only the first N edges (points[0]->points[1] is edge 0); edges on the base's outline or a seam can stay free. Default: all edges. layer: Layer for the patch: 1 = the +z side, -1 = the -z side. reverse: Also add the same patch on the opposite layer. fabric_index: Fabric for the patch (default: the base's fabric). name: Name for the patch piece(s); " front"/" reverse" is added with reverse=True. place_flat: Place the patch Flat; set False and place it yourself on an avatar. reverse_layer: Layer for the reverse patch (default: -layer). Put it outside any hem strips it crosses (e.g. 3 over hems on 1 and 2).
Inputs: points (required), pattern_index (required), name, layer, +5 more.
add_boxA
Add a box that cloth collides with (a table, shelf, bed or window sill...).
Args: center: [x, y, z] centre in mm. size: [width_x, height_y, depth_z] in mm. replace_avatar: Allow replacing a human avatar in the scene.
Inputs: size (required), center (required), replace_avatar.
add_fabricB
Add a new fabric to the project from a .zfab or .jfab file.
Args: file_path: Absolute path to the fabric file (.zfab or .jfab).
Inputs: file_path (required).
add_hemA
Hem a straight edge: adds the turned-back layer as a strip covering the hem area on the reverse side, sewn along the edge and along a new hem line (cloth cannot be folded this way: a fold angle only bends it about 20 degrees, even at full strength). Gives the doubled fabric at the edge. The pattern's edge is the finished edge, so draw pieces at their finished size.
Args: pattern_index: Piece to hem. line_index: The straight outline line to hem (from get_pattern_geometry / view_patterns). width: Finished hem width in mm. layer: Layer for the hem strip: -1 = the -z side (towards the back camera), 1 = the +z side. Use the side opposite the garment's face. Where hems cross (a bottom hem and the side hems), put the later ones one layer further out (e.g. -2), like the real corner; on the same layer the overlapping strips crumple. fabric_index: Fabric for the strip (default: the piece's fabric). place_flat: Place the strip Flat, like a piece laid out without an avatar; set False and place it yourself for pieces on an avatar.
Inputs: width (required), line_index (required), pattern_index (required), layer, +2 more.
add_internal_shapeA
Draw an internal line or shape on a pattern (fold lines, darts, pocket placement...).
Args: pattern_index: Pattern to draw on. points: [[x, y], ...] or [[x, y, type], ...] in pattern coordinates (mm), inside the piece (CLO also accepts points outside it); type 0 = straight, 2 = spline curve, 3 = bezier curve. Use get_pattern_geometry for the piece's coordinates. closed: Connect the last point back to the first.
Inputs: points (required), pattern_index (required), closed.
add_pattern_annotationA
Write a note on a piece (cut quantity, fabric, size, "place on fold"...) at 2D (x, y) in the piece's coordinates; it prints on pattern sheets with show={"annotations": true}. With annotation_index, replace that note instead.
Inputs: x (required), y (required), text (required), pattern_index (required), +1 more.
add_rodA
Add a cylinder (curtain rod, rail, hanger bar...) that cloth collides with.
All rods and boxes form one collision object (CLO keeps a single avatar), placed exactly at the given coordinates. For curtains, make_rod_pocket does the whole job. Tested in CLO 2025.2: cloth passes through a thin rod unless its mesh is finer than the rod, so set the pieces' particle_distance to about a third of the diameter and use >= 30 mm.
Args: center: [x, y, z] centre in mm (see get_cloth_bounds for where the cloth is). length: Length in mm. diameter: Diameter in mm. axis: Direction of the rod: "x" (left-right), "y" (up-down) or "z" (front-back). replace_avatar: Allow replacing a human avatar in the scene.
Inputs: center (required), length (required), axis, diameter, +1 more.
add_topstitchA
Add topstitching either along a seam or along one pattern line.
Args: style_index: Topstitch style from list_topstitch_styles. seam_index: Topstitch this seam (from get_pattern_geometry). start_ratio: Where along the seam to start (0-1), with seam_index. end_ratio: Where along the seam to end (0-1), with seam_index. pattern_index: Topstitch a line of this pattern instead of a seam. line_index: The line to topstitch, with pattern_index.
Inputs: style_index (required), end_ratio, line_index, seam_index, +2 more.
answer_clo_dialogA
Click a button on the dialog open in CLO (see get_clo_dialog). If a command was stopped by the dialog, it carries on inside CLO and its result is returned here. Decisions that lose work (e.g. "No" to saving changes) are the user's to make.
Inputs: button (required).
apply_fabric_jsonA
Apply a .jfab file (CLO's JSON fabric format, see JFABSpec.json in the CLO SDK) to a fabric. Keys the file leaves out at the top level keep their values (colour, texture, content), but a "mapPhysical" block replaces the whole physical set: its missing keys reset to CLO's defaults, and a missing "qsFabricName" clears the name. set_fabric_physics handles this for you.
Inputs: file_path (required), fabric_index (required).
apply_plaidA
Make a plaid (tartan) texture from its stripe sequence and put it on a fabric. The same stripes run both ways; where two colours cross they mix in a twill, as in woven checks.
Args: fabric_index: Fabric to texture. sett: One repeat as [[colour, width_mm], ...], e.g. a grey/black workwear check: [["#1b1b1d", 45], ["#5d5d60", 6], ["#1b1b1d", 6], ["#5d5d60", 35], ["#8e8e90", 3], ["#5d5d60", 35]]. The repeat is the sum of the widths. px_per_mm: Image resolution. twill: Mix crossing colours along diagonals (woven look) instead of averaging them. back_color: For double-faced cloth, a plain back in this colour [r, g, b]. The back is separated before the plaid goes on: separated afterwards, it copies the plaid (tested in CLO 2025.2.236).
Inputs: sett (required), fabric_index (required), twill, px_per_mm, +1 more.
assign_fabric_to_patternA
Assign a fabric to a pattern piece.
Args: fabric_index: Zero-based index of the fabric. pattern_index: Zero-based index of the pattern piece. assign_option: 1=current colorway only, 2=all colorways (unlinked), 3=all colorways (linked).
Inputs: fabric_index (required), pattern_index (required), assign_option.
capture_3dA
Look at the garment: capture CLO's 3D window from one or more camera views.
Use after simulating or editing to check the result (e.g. twisted seams, pieces in the wrong place, fabric through the avatar). Moves CLO's 3D camera.
Args: views: Any of front, back, left, right, three_quarter_left, three_quarter_right, top, bottom, zoom_all, current (default: ["front"]). fit_map: "strain" or "stress" to show CLO's fit map in the capture (red = tight or overstretched), "off" to hide it, or omit to leave the display as it is.
Inputs: views, fit_map.
clo_ui_nest_all_fabricsA
Click "Nest All Fabrics" in CLO's Print Layout Editor (through Windows UI Automation), for when the print layout is empty: the API's nesting only works once CLO's own nesting has run. CLO must be in Printing Layout mode (the user switches it; CLO's mode menu cannot be driven this way). Returns the marker it produced.
Inputs: no named parameters.
convert_shapeC
Convert an internal shape to a base line ("base") or back ("internal").
Inputs: to (required), pattern_index (required), internal_shape (required).
copy_patternA
Duplicate a pattern piece at a given position.
Args: pattern_index: Zero-based index of the pattern piece to copy. x: X position offset for the copy (mm). y: Y position offset for the copy (mm).
Inputs: pattern_index (required), x, y.
create_patternA
Create a new pattern piece from vertex points.
Args: points: List of [x, y] or [x, y, type] coordinates in mm. Type: 0=straight (default), 2=spline, 3=bezier. Example: [[0,0], [100,0], [100,200], [0,200]]
Returns the new pattern_index and its outline lines (line_index, start, end, length), so you can sew, hem or topstitch without looking the piece up.
Inputs: points (required).
create_topstitch_styleA
Create a topstitch style with a given stitch length, thread thickness and offset from the stitched line (CLO's API cannot set these on a style, so a saved style file is copied with the values changed and imported). Returns its style_index for add_topstitch.
The stitch's shape and colour come from a template: a style saved from CLO once (select a topstitch in the Object Browser, set its Shape, e.g. Overlock, and colour in the Property Editor, click the save icon in its Topstitch row) and passed as template_path with a template name; later calls just name the template.
Args: name: Name for the new style. stitch_length_mm: Length of each stitch in mm (default: the template's). thread_thickness_mm: Thread thickness in mm (CLO shows it as Tex: 0.2 mm = 40 Tex). offset_mm: Distance of the stitching from the line or seam it follows, in mm. template: Which saved template to use, e.g. "default" or "overlock". template_path: A .sst saved from CLO, stored as this template (first time only).
Inputs: name (required), template, offset_mm, template_path, +2 more.
delete_fabricC
Delete a fabric from the project.
Inputs: fabric_index (required).
delete_lineC
Delete an outline line of a pattern.
Inputs: line_index (required), pattern_index (required).
delete_patternB
Delete a pattern piece from the project.
Args: pattern_index: Zero-based index of the pattern piece to delete.
Inputs: pattern_index (required).
delete_pointA
Delete an outline point (point n is the start point of line n; see get_pattern_geometry).
Inputs: point_index (required), pattern_index (required).
export_dxfA
Export the pattern as a DXF for CAD, plotters and cutters (no dialog). Returns the pieces read back from the file (name, size, quantity, outline box in mm) as a check.
Args: file_path: Absolute path ending in .dxf. format: "aama", "astm" or "gerber" (Gerber-flavoured AAMA). metric: Millimetres (True) or inches. box_per_piece: One bounding box per piece instead of one around all pieces. curves_to_straight: Convert curve points to straight points. optimize_curve_points: Drop curve points very close to others. without_grading: Leave grading out. without_baselines: Only the outlines, without base lines. remove_duplicate_notches: Remove duplicate notches. scale: Scale factor. rotate_degrees: Rotate the pieces.
Inputs: file_path (required), scale, format, metric, +7 more.
export_fabricB
Save a fabric as a .zfab file (CLO 2025.2 refuses .jfab here; the .fab inside is binary).
Args: fabric_index: Fabric to export. file_path: Absolute output path ending in .zfab.
Inputs: file_path (required), fabric_index (required).
export_fbxA
Export the garment as an FBX file.
Args: file_path: Absolute path for the exported .fbx file.
Inputs: file_path (required).
export_glbC
Export the garment as a GLB (binary glTF) file.
Args: file_path: Absolute path for the exported .glb file. options: Optional export options.
Inputs: file_path (required), options.
export_gltfB
Export the garment as a glTF file.
Args: file_path: Absolute path for the exported .gltf file. options: Optional export options.
Inputs: file_path (required), options.
export_objA
Export the garment as an OBJ file.
Args: file_path: Absolute path for the exported .obj file. options: Optional export options (bExportGarment, bExportAvatar, bThin, scale, etc.).
Inputs: file_path (required), options.
export_pattern_sheetA
Export the 2D pattern as a PDF (vector, exactly 1:1: verified in CLO 2025.2) or PNG, by the file's extension, for plotting or printing.
"print_layout" exports the marker of the fabric shown in CLO's Print Layout Editor (see marker_report): the page is the fabric width by the marker length. It needs the layout set up once in CLO (Printing Layout mode, Auto Nesting). "pattern" exports the pattern window.
Args: file_path: Absolute path ending in .pdf or .png. source: "print_layout" or "pattern". paper: a4, a3, b5, b4, letter, legal, tabloid, wide_24in, wide_36in, wide_44in, one_to_one or custom (then give width_mm and height_mm). Default: CLO's setting. The PDF stays one 1:1 page whatever the paper (tested with a4: no tiling), so tile it with your plotter or PDF software for small paper. landscape: Paper orientation. width_mm: Paper width for custom paper. height_mm: Paper height for custom paper. resolution_dpi: Resolution for PNG output. show: What to draw, e.g. {"seam_allowance": true, "notches": true, "grain_line": true, "pattern_name": true, "annotations": true}. Keys: outline, internal_lines, graphic_outline, baseline, notches, seam_allowance, symmetry_line, reference_line, pattern_name, annotations, line_length, grain_line, button_holes, seam_taping, measurements_2d, grading_size_name, nest_information, fabric_texture, pattern_texture, graphic_texture.
Inputs: file_path (required), show, paper, source, +4 more.
export_snapshotA
Save front, back, left and right images of the 3D window as PNG files.
To look at the garment yourself, use capture_3d instead (returns the images).
Args: file_path: Base path; files are saved as _front.png, _back.png, ...
Inputs: file_path (required).
export_tech_packB
Export a tech pack with JSON metadata and images.
Args: file_path: Absolute path for the tech pack output.
Inputs: file_path (required).
export_thumbnailB
Export a 3D viewport screenshot/thumbnail.
Args: file_path: Absolute path for the exported image file. width: Image width in pixels (default 512). height: Image height in pixels (default 512).
Inputs: file_path (required), width, height.
export_turntableC
Export a 360-degree turntable image sequence.
Args: file_path: Absolute path (directory or base name) for turntable images.
Inputs: file_path (required).
flip_patternA
Flip a pattern piece horizontally or vertically.
Args: pattern_index: Zero-based index of the pattern piece to flip. horizontal: True for horizontal flip, False for vertical flip.
Inputs: pattern_index (required), horizontal.
get_arrangement_listB
Get the list of arrangement points on the avatar.
Inputs: no named parameters.
get_arrangement_pointsA
List the avatar's arrangement points (needs an avatar in the scene) for place_pattern.
Inputs: no named parameters.
get_avatarsA
List avatars in the scene with names and genders.
Inputs: no named parameters.
get_clo_dialogA
The dialog open in CLO right now, if any: title, message and buttons. Commands answer CLO's acknowledge-only dialogs (OK / Close) themselves and list them in clo_dialogs; a dialog that needs a decision stops the command with its text and buttons instead of hanging.
Inputs: no named parameters.
get_cloth_boundsA
3D bounding box (mm) of the cloth: min/max [x, y, z]. CLO's 3D axes: Y is up, Z points towards the front view camera, X to the avatar's left. Use it to place rods and props and to check where a piece ended up (e.g. is this panel still on the rod?).
CLO only reports cloth once it has been simulated, and reports nothing while every piece is frozen: run simulate(1) with at least one piece unfrozen first. A flat new piece lies at its 2D (x, y) coordinates in the plane z = 200.
Args: region_min: Only count vertices inside this box: [x, y, z] lower corner. region_max: Upper corner [x, y, z] of that box. pattern_index: Only this pattern's vertices.
Inputs: region_max, region_min, pattern_index.
get_colorwaysA
Get a list of all colorways in the current project with names and which is active.
Inputs: no named parameters.
get_fabric_for_patternB
Get which fabric is assigned to a pattern piece.
Args: pattern_index: Zero-based index of the pattern piece.
Inputs: pattern_index (required).
get_fabric_infoC
A fabric's name, its information fields (content, classification, supplier...) and CLO's fabric info JSON.
Inputs: fabric_index (required).
get_fabric_listA
Get a list of all fabrics in the current project with their indices and names.
Inputs: no named parameters.
get_garment_infoA
Export and retrieve garment metadata as JSON, including pattern details, fabric assignments, and measurements.
Inputs: no named parameters.
get_pattern_annotationsC
The notes written on a piece, with their positions.
Inputs: pattern_index (required).
get_pattern_bounding_boxB
Get the bounding box (width/height) of a pattern piece.
Args: pattern_index: Zero-based index of the pattern piece.
Inputs: pattern_index (required).
get_pattern_countA
Get the total number of pattern pieces in the current project.
Inputs: no named parameters.
get_pattern_geometryA
Get pattern pieces with numbered outline lines, internal shapes and all seams.
Use this before sewing or editing lines: every line-based tool takes the line_index
values listed here. Each line has its length (mm) and start/end points in 2D pattern
coordinates. Each seam lists, for both sides, the pattern, optional internal shape, the
lines it covers (coverage 1.0 = whole line) and where stitching starts and ends.
"sewn_together" pairs those ends (side a's start is sewn to side b's start, end to end):
if a left end is paired with a right end the seam is twisted; sew it again with one
direction flipped. A pocket's fold-over seam deliberately pairs the strip's top edge with
a lower line.
Args: pattern_index: Only return this piece and the seams touching it (default: all). include_points: Also return every point of every line (larger output).
Inputs: pattern_index, include_points.
get_pattern_infoB
Get detailed information about a specific pattern piece.
Args: pattern_index: Zero-based index of the pattern piece.
Inputs: pattern_index (required).
get_pattern_listA
Get a list of all pattern pieces with their indices and names.
Inputs: no named parameters.
get_pattern_stateC
Get a piece's layer, solidify state, grain direction, shrinkage and 3D arrangement.
Inputs: pattern_index (required).
get_print_optionsA
Current 2D export settings (paper, orientation, resolution and what is shown) for the pattern window ("pattern") or the print layout ("print_layout").
Inputs: source.
get_project_infoA
Get information about the current CLO3D project including name, path, version, and counts for patterns, fabrics, and colorways.
Inputs: no named parameters.
get_topstitch_styleB
A topstitch style's name, offset and per-line values as CLO's API reports them (stitch length and thread thickness are not readable through the API).
Inputs: style_index (required).
hang_on_rodA
Hang panels on a rod from a frozen header band: the reliable way to hang curtains, noren and banners (make_rod_pocket's folded pocket is not reliable with several panels).
Adds a band above each panel's straight top edge, sews it on, freezes it flat (it acts like a pin line) and lays a rod along it; the panels drape from the bands. The pocket does not wrap the rod in 3D: the rod lies against the band's rod_side face, so from the other side it looks like a rod pocket with the rod ends showing. Save a checkpoint first.
Args: pattern_index: The panel, or a list of panels sharing one rod; their top edges must be at the same height. band_height: Height of the band in mm, added above the top edge (so make the panels that much shorter for a given finished height). At least rod_diameter + 10. rod_diameter: Rod diameter in mm. rod_overhang: How far the rod extends past each side, in mm. settle_steps: Simulation steps to let the panels hang. rod_side: "front" (+z, towards the front camera) or "back" (-z). fabric_index: Fabric for the bands (default: each panel's own fabric).
Inputs: pattern_index (required), rod_side, band_height, fabric_index, +3 more.
import_avatarA
Load an avatar (.avt, .avac) into the scene, optionally with an arrangement file (.apf).
Inputs: file_path (required), apf_path.
import_collision_objectA
Import your own OBJ (e.g. a modelled curtain rail or furniture) as an object cloth collides with. Units are mm unless scale is set (e.g. 10 for a model in cm). It replaces the current avatar and any rods or boxes (CLO keeps a single avatar).
Args: file_path: Absolute path to the .obj file. keep_position: Keep the file's coordinates (False: CLO drops it onto the ground). scale: Scale factor applied on import.
Inputs: file_path (required), scale, keep_position.
import_fileB
Import a file into CLO3D. Auto-detects type from extension (.zprj, .zpac, .obj, .fbx, .avt, etc.).
Args: file_path: Absolute path to the file to import.
Inputs: file_path (required).
list_checkpointsA
List saved checkpoints, newest first.
Inputs: no named parameters.
list_collision_objectsA
The rods and boxes currently in the scene, with the index remove_collision_object takes.
Inputs: no named parameters.
list_topstitch_stylesA
List the topstitch styles in the project, for add_topstitch's style_index.
Inputs: no named parameters.
load_poseA
Pose the avatar from a .pos file (made and saved in CLO, or with save_pose). CLO's API cannot bend joints itself, so poses are built in CLO's pose tools and reused from files. Load the pose before placing garment pieces: arrangement points follow the avatar.
Args: file_path: The .pos file. pose_and_translation: Also apply the pose's position in the scene (default: pose only). bottom_to_ground: Stand the avatar's feet on the ground afterwards.
Inputs: file_path (required), bottom_to_ground, pose_and_translation.
make_rod_pocketA
Make a rod pocket along a panel's top edge and hang the panel on a rod (curtains, banners, flags). The panel needs a straight, horizontal top edge. Verified with one panel; with several panels a pocket often fails to wrap, so prefer hang_on_rod there.
Adds a pocket strip above the panel, sews it to the top edge and to a fold line, holds the panel still, places a rod just in front of the strip above the top edge (the folding strip wraps it; verified in CLO 2025.2) and lets the panel hang. Returns whether the cloth stays up at the ends and in the middle; the pocket can be fuller in places, so look at the result with capture_3d. Save a checkpoint first.
Args: pattern_index: The panel, or a list of panels sharing one rod (e.g. the two halves of a noren); their top edges must be at the same height. pocket_depth: Height of the pocket strip in mm (the tube is roughly 1.4x this around). rod_diameter: Rod diameter in mm. rod_overhang: How far the rod extends past each side of the panel, in mm. settle_steps: Simulation steps after releasing the panel. pocket_side: Only "front" (+z, towards the front camera) forms reliably in CLO 2025.2. For a curtain whose pocket belongs on the back, build it facing the "back" camera (decorative patches on layer -1). Keep patches on the pocket side below fold_y.
Inputs: pattern_index (required), pocket_side, pocket_depth, rod_diameter, +2 more.
map_cloth_to_patternsA
Work out which cloth vertices belong to which pattern, for get_cloth_bounds(pattern_index). Run while the pieces are still flat (after a few simulation steps, before draping).
CLO lists cloth vertices pattern by pattern, but its per-pattern counts are slightly off, so the boundaries are found from the flat layout. Freezing or unfreezing pieces reorders CLO's list (unfrozen pieces first) and changes the mesh; the map is then refused, so map again in the new state.
Inputs: no named parameters.
marker_reportA
Measure the marker shown in CLO's Print Layout Editor: which fabric it is, its length along the fabric, width, pieces, area and utilisation, from a 1:1 PDF export (path included for plotting). CLO exports one fabric at a time and the API cannot switch it; the result lists the other fabrics to switch to in CLO.
Inputs: no named parameters.
mirror_patternB
Create a symmetric (mirrored, linked) copy of a piece, optionally copying its sewing.
Inputs: pattern_index (required), with_sewing.
move_pattern_2dB
Move a piece in the 2D pattern window: to (x, y), or by (dx, dy).
Inputs: pattern_index (required), x, y, dx, +1 more.
nest_patternsA
Auto-nest the pieces in CLO's print layout and report the marker shown there: length along the fabric, width, pieces and utilisation (measured from the exported 1:1 layout; CLO's own fabric length value did not match the layout in testing).
In a fresh CLO session the API's nesting leaves the layout empty until CLO's Printing Layout mode has been opened once (tested: empty before the switch, working right after it and for the rest of the session, also back in Simulation mode). If it is still empty, allow_ui_click clicks "Nest All Fabrics" in CLO (needs Printing Layout mode); otherwise the error says what to do.
Args: buffer_spacing_mm: Space between pieces. fabric_index: With fabric_width_mm, set this fabric's width first. fabric_width_mm: Usable fabric width in mm. timeout_s: How long to wait for CLO's nesting to finish. allow_ui_click: Click CLO's "Nest All Fabrics" button when the layout is empty.
Inputs: timeout_s, fabric_index, allow_ui_click, fabric_width_mm, +1 more.
new_projectA
Create a new empty CLO3D project, clearing the current scene.
Args: discard_unsaved: Drop unsaved changes when CLO asks; otherwise it stops with an error.
Inputs: discard_unsaved.
offset_internal_lineA
Create internal lines parallel to an outline line (e.g. hem fold or pleat lines).
The offset must fit inside the piece; if CLO creates nothing, the tool returns an error (try reverse=True, a smaller distance, or a longer line).
Args: pattern_index: Pattern to draw on. line_index: Outline line to offset from. distance: Distance between lines in mm. count: Number of lines to create. reverse: Offset to the other side. extend: Extend the new lines to the piece outline.
Inputs: distance (required), line_index (required), pattern_index (required), count, +2 more.
open_fileB
Open a file in CLO3D. Supports .zprj, .zpac, .avt, .obj, .fbx formats.
Args: file_path: Absolute path to the file to open. discard_unsaved: Drop unsaved changes when CLO asks; otherwise it stops with an error.
Inputs: file_path (required), discard_unsaved.
place_patternA
Place a pattern piece in 3D on an avatar arrangement point.
CLO's API has no free XYZ move/rotate; placement goes through arrangement points. Run simulate afterwards to drape.
Args: pattern_index: Pattern to place. arrangement_index: Arrangement point from get_arrangement_points. orientation: Orientation value for the piece on the point. position_x: Position on the arrangement surface (set together with position_y/offset). position_y: Position on the arrangement surface. offset: Distance from the arrangement surface. shape_style: "Flat" or "Curved" (wrap around the body).
Inputs: pattern_index (required), offset, position_x, position_y, +3 more.
remove_all_pinsA
Remove every pin in the scene. (CLO's API can remove pins but not create them.)
Inputs: no named parameters.
remove_collision_objectA
Remove one rod or box (index from list_collision_objects); the others stay.
Inputs: index (required).
replace_fabricA
Replace an existing fabric with a new one from file.
Args: fabric_index: Zero-based index of the fabric to replace. file_path: Absolute path to the replacement fabric file (.zfab).
Inputs: file_path (required), fabric_index (required).
reset_arrangementA
Reset all pieces to their arrangement positions (undo draping).
Inputs: no named parameters.
restart_cloA
Close CLO and start it again, e.g. to load a rebuilt plug-in or recover from a hang.
The scene is saved first as the checkpoint "before_restart" and reopened afterwards. CLO is then ended without its own save prompt. If the scene cannot be saved (CLO not answering), nothing is closed unless discard_unsaved=True.
Args: save_first: Save the scene as checkpoint "before_restart" first. reopen: Reopen that checkpoint once CLO is back. install_plugin: Path of a plug-in DLL to install while CLO is closed (e.g. cpp_plugin/dist/CloMcpPlugin.dll); CLO only loads plug-ins at startup. discard_unsaved: Close even when the scene could not be saved. timeout_s: How long to wait for CLO and the plug-in to come back.
Inputs: reopen, timeout_s, save_first, install_plugin, +1 more.
restore_checkpointA
Reopen a checkpoint, replacing the current scene (unsaved changes are lost).
Afterwards CLO's open file is the checkpoint copy; save with save_project to the original_path returned here to keep working on the real file.
Inputs: name (required).
save_checkpointA
Save the whole scene so it can be restored later. CLO's API has no undo, so save one before risky edits (sewing, deleting lines, simulating). Reusing a name overwrites it.
CLO saves the checkpoint like "Save As", so its open file becomes the checkpoint copy. The result's original_path is the real file: save there with save_project when done.
Inputs: name.
save_poseA
Save the avatar's current pose as a .pos file, for load_pose later (e.g. after posing it in CLO). Without a path CLO writes it to its temporary folder; the path is returned.
Inputs: file_path.
save_projectA
Save the current CLO3D project as a .zprj file.
Args: file_path: Absolute path for the saved .zprj file.
Inputs: file_path (required).
set_current_colorwayA
Switch to a different colorway.
Args: colorway_index: Zero-based index of the colorway to activate.
Inputs: colorway_index (required).
set_elasticA
Set elastic on a pattern line (or all lines with line_index=-1). Only passed values change.
Args: pattern_index: Pattern to change. line_index: Outline line, or -1 for every line. enabled: Elastic on/off. strength: Elastic strength. ratio: Elastic strength ratio in percent. segment_length: Elastic segment length in mm. total_length: Elastic total length in mm.
Inputs: pattern_index (required), ratio, enabled, strength, +3 more.
set_fabric_colorA
Set the PBR base color of a fabric.
Args: fabric_index: Zero-based index of the fabric. r: Red channel (0-255). g: Green channel (0-255). b: Blue channel (0-255). face: "front", "back" or "side". The back and side only show their own colour once set_fabric_faces has separated them from the front.
Inputs: fabric_index (required), b, g, r, +1 more.
set_fabric_facesA
Give a fabric a back face of its own, for double-faced and reversible cloth (e.g. plaid on the front, solid charcoal on the back), or join it to the front again. Do this before texturing the front: a back separated afterwards copies the front's texture.
Args: fabric_index: Fabric to change. separate_back: True for its own back material and colour, False to use the front's. back_color: Optionally set the back's colour at the same time, [r, g, b] 0-255.
Inputs: fabric_index (required), back_color, separate_back.
set_fabric_informationA
Set a fabric's name and information fields, e.g. {"Content": "60% Cotton, 40% Linen"}. Field names are CLO's (see get_fabric_info). This is metadata only; the drape comes from the fabric's physical properties.
Inputs: fabric_index (required), name, information.
set_fabric_physicsA
Set all of a fabric's physical properties (how it stretches, bends and hangs), keeping its colour, texture and name. CLO cannot report a fabric's current values (only weight and thickness, via get_fabric_info), so every value is written: the defaults are CLO's documented defaults, not the fabric's own. Pass real values for a specific cloth, or keep a library fabric (add_fabric) whose physics were measured.
Args: fabric_index: Fabric to change. weight_gsm: Weight in g/m2. thickness_mm: Thickness in mm. stretch_weft: Stretch stiffness across the grain (weft); higher = less stretch. stretch_warp: Stretch stiffness along the grain (warp). shear: Shear stiffness (bias stretch). bending_weft: Bending stiffness across the grain; higher = stiffer, fewer folds. bending_warp: Bending stiffness along the grain. bending_bias: Bending stiffness on the bias. buckling_ratio: Buckling ratio (all directions). buckling_stiffness: Buckling stiffness (all directions). friction: Friction. internal_damping: Internal damping. content: Optionally also set the content label, e.g. "60% Cotton, 40% Linen". property_name: Name for this set of physical properties.
Inputs: fabric_index (required), shear, content, friction, +11 more.
set_fabric_textureC
Use an image (PNG, JPG) as a fabric's base texture.
Inputs: file_path (required), fabric_index (required).
set_fabric_widthB
Set a fabric's usable width (the marker width in the print layout), in mm.
Inputs: width_mm (required), fabric_index (required).
set_fit_mapA
Show CLO's fit map in the 3D window: "strain" (stretch %), "stress" (pressure) or "off".
Inputs: mode (required).
set_nestingC
Nesting settings for the print layout: spacing between pieces, which colourways get the result, and per piece how it may turn ("1-way": as cut, "2-way": also turned 180 degrees, "4-way": also 90 degrees) or a fixed [x, y] position.
Inputs: grain, colorways, pattern_index, fixed_position, +1 more.
set_pattern_nameA
Rename a pattern piece.
Args: pattern_index: Zero-based index of the pattern piece. name: New name for the pattern piece.
Inputs: name (required), pattern_index (required).
set_pattern_stateA
Set simulation state of a pattern piece. Only the values you pass are changed.
CLO's API cannot place pins; freeze or strengthen a piece to hold it in place instead.
Args: pattern_index: Pattern to change. frozen: Freeze (excluded from simulation, stays where it is). strengthened: Strengthen (stiffer, holds shape). solidified: Solidify. solidify_strength: Solidify strength. hidden_3d: Hide the piece in the 3D window. layer: Layer number (higher layers sit on top in collisions). particle_distance: Mesh particle distance in mm (smaller = finer mesh, slower). grain_degrees: Grainline direction in degrees.
Inputs: pattern_index (required), layer, frozen, hidden_3d, +5 more.
set_seam_tapingC
Turn seam taping on or off for one outline line of a pattern.
Inputs: line_index (required), pattern_index (required), enabled.
set_shrinkageA
Set a piece's fabric shrinkage as its size in percent: 100 = no shrinkage, 97 = shrinks 3 %.
Args: pattern_index: Pattern to change. width_percent: Width (weft) size in percent, 50-150. height_percent: Height (warp) size in percent, 50-150.
Inputs: pattern_index (required), width_percent, height_percent.
set_simulation_qualityA
Set the simulation preset: 0 Normal, 1 Animation (stable), 2 Fitting (accurate), 3 FAST (GPU).
Args: quality: Preset index. simulation_mode: 0 CPU, 1 GPU (defaults to GPU for preset 3, CPU otherwise).
Inputs: quality (required), simulation_mode.
set_topstitch_styleA
Rename a topstitch style, set its thread colour ([r, g, b] 0-255) or its number of parallel lines. For stitch length, thread thickness and offset use create_topstitch_style.
Inputs: style_index (required), name, color, number_of_lines.
sew_edgesA
Sew two outline edges by saying which points meet: from_a meets from_b and to_a meets to_b. The lines are found by their endpoints (2D pattern coordinates, mm, within 2 mm) and the stitch directions follow, so the seam cannot come out twisted (with sew_lines the direction flags are easy to get backwards).
Args: pattern_a: Piece of side A. from_a: One end of the edge on A, e.g. the neck point [x, y]. to_a: The other end on A, e.g. the shoulder point. pattern_b: Piece of side B. from_b: The point on B that meets from_a. to_b: The point on B that meets to_a.
Inputs: to_a (required), to_b (required), from_a (required), from_b (required), +2 more.
sew_linesA
Sew one line to another (segment sewing). Get line indices from get_pattern_geometry.
If the seam comes out twisted, sew it again with one direction flipped.
Args: pattern_a: Pattern index of side A. line_a: Line index on side A (outline line, or line of internal_shape_a). pattern_b: Pattern index of side B. line_b: Line index on side B (outline line, or line of internal_shape_b). direction_a: Stitch direction along line A (True = forward). direction_b: Stitch direction along line B (True = forward). internal_shape_a: Sew a line of this internal shape on A instead of the outline. internal_shape_b: Sew a line of this internal shape on B instead of the outline.
Inputs: line_a (required), line_b (required), pattern_a (required), pattern_b (required), +4 more.
show_avatarB
Show or hide the avatar.
Inputs: show.
simulateB
Run cloth simulation for a number of steps.
Args: steps: Number of simulation steps to run (default 100).
Inputs: steps.
topstitch_allA
Topstitch a whole garment in one go: every seam and/or every free outline edge (edges no seam uses: hems, front edges, cuffs, collar tops), e.g. the contrast edge stitching of a reversible or unlined jacket.
Args: style_index: Topstitch style (list_topstitch_styles, create_topstitch_style). seams: Stitch along every seam. free_edges: Stitch every free outline edge. pattern_indices: Only these pieces (default: all).
Inputs: style_index (required), seams, free_edges, pattern_indices.
unfold_patternB
Unfold a half pattern across one of its lines (e.g. the centre-front fold line).
Inputs: line_index (required), pattern_index (required), half_symmetry.
view_patternsA
Picture of the 2D pattern pieces with every outline line numbered and seams coloured.
Blue numbers are line_index values for sewing, elastic, topstitch and seam taping; "sN" marks lines sewn by seam N; grey lines are internal lines. Pieces on another layer (appliqué, hem strips) lie on their base piece and are labelled with their layer, +z or -z. Pair it with get_pattern_geometry for exact lengths and coordinates.
Args: pattern_index: Draw only this piece (default: all pieces).
Inputs: pattern_index.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 104 tools
Many tools have clear, distinct purposes, but several overlapping pairs exist (e.g., sew_edges vs sew_lines, add_topstitch vs topstitch_all, and multiple export/save variants). The detailed descriptions help, but with 104 tools the chance of misselection is significant.
Almost all tools use snake_case with a verb_noun or verb_noun_phrase pattern (e.g., get_pattern_geometry, set_fabric_color, add_internal_shape). A few exceptions like marker_report, new_project, and clo_ui_nest_all_fabrics are minor deviations but still readable.
104 tools is far beyond the 50-tool threshold for extreme mismatch. Even for a complex application like CLO3D, this count is excessive and likely overwhelms both agents and users.
The surface covers the full CLO3D lifecycle: project management, pattern creation/editing, fabric handling, sewing, simulation, avatars, collision objects, checkpoints, dialogs, and numerous export formats. Workarounds are provided for API limitations, leaving no obvious gaps.
Maintenance
Related MCP Connectors
Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Direct AI video, image, music and storyboard production from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural language control of Blender 3D through MCP clients, allowing creation, modification, and manipulation of 3D models, animations, and scenes.301MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control CLO3D for pattern creation, fabric swapping, simulation, and model export via natural language commands.46MIT
- AlicenseBqualityDmaintenanceEnables AI-assisted garment design by letting Claude (or any MCP host) drive CLO3D — import projects, dress avatars, assign fabrics, simulate cloth, render, and export, all from a chat.145MIT
- AlicenseCqualityCmaintenanceEnables an AI assistant to interact with CLO3D projects, including inspecting scenes, editing patterns, sewing, changing fabrics, simulating, taking snapshots, and saving checkpoints.481MIT