Skip to main content
Glama
ttiimmaacc

mcp-for-clo3d

by ttiimmaacc

add_rod

Add a cylindrical collision object (rod, rail, hanger bar) for cloth simulation in CLO3D. Specify center, length, diameter, and axis to place it precisely.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
axisNox
centerYes
lengthYes
diameterNo
replace_avatarNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden, and it does so thoroughly: it explains that all rods and boxes form one collision object/avatar, that placement is exact, that thin rods can be penetrated unless mesh is finer, and that particle_distance should be about one-third of the diameter with >= 30 mm. This goes far beyond a simple operation summary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average, but every segment earns its place: a one-sentence purpose, a concise behavioral note about collision objects, a practical mesh/particle_distance tip, and a cleanly formatted Args list. It is front-loaded with the core action and then layers supporting detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description covers the full call context: what the tool does, how collision behaves, how coordinates are interpreted, how to choose parameters, when to prefer a sibling, and a concrete rendering pitfall. Nothing essential for calling it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the Args block must carry all parameter meaning, and it does: center is defined with units and a reference to get_cloth_bounds, axis is explained with directional examples, and length/diameter/replace_avatar all get operational meaning beyond their titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Add a cylinder (curtain rod, rail, hanger bar...) that cloth collides with.' It also differentiates itself from the sibling make_rod_pocket by noting that for curtains, make_rod_pocket does the whole job, so an agent can tell which tool fits the task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit when-not-to-use condition: 'For curtains, make_rod_pocket does the whole job.' It also references get_cloth_bounds as a coordinate source, which guides correct preparation. It does not explicitly contrast add_rod with add_box or hang_on_rod, but the alternative that matters most is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools