Skip to main content
Glama
0xZoharHuang

garment-cad-mcp

by 0xZoharHuang
README.md
# garment-cad-mcp

Agent-facing garment CAD control plane built around pinned Valentina and GarmentCode sources.

Repository checkpoint: see [current status and verification](docs/STATUS.md).
This is a source-checkout development release, not a certified autonomous patternmaker.
The native vendor trees contain documented local integration fixes; no commercial 3D
backend has been installed or substituted. Historical evaluation reports remain dated
evidence and do not override the current capability boundaries.

Current qualification: a fresh GPT-6 session has completed drafting and a
post-delivery designer-feedback revision without in-round reviewer intervention.
The complex-jeans result still fails intended fit; this is **not production-ready
patternmaking certification**. See the [two-round evidence and limits](docs/ROUND_BASED_VALIDATION_2026-09-10.md).

Latest core/reference evaluation: after generic export, surface-containment and
runtime fixes, a new GPT-6 session independently restored sewing and completed
current physical observation of an existing paper project without changing its
paper or material inputs. Waist position still fails; this is not full multilayer
or fit approval. See [optimization, reference inputs and A/B/C evidence](docs/CORE_OPTIMIZATION_AND_REFERENCE_EVAL_2026-09-11.md).
The [material-response follow-up](docs/MATERIAL_RESPONSE_REVIEW_2026-09-11.md)
adds native flat-area/mass observations and controlled cloth-response diagnostics;
it does not calibrate real fabrics or change simulation parameters to pass a garment.

It provides two local stdio MCP servers, a shared Python SDK, preview/commit transactions,
append-only revisions, a native GarmentCode document, and a serial AutoDL GPU worker API. Public
geometry uses millimetres; the native GarmentCode host converts to centimetres at its boundary.

```python
from garmentcad import GarmentSDK

cad = GarmentSDK("./projects/sample")
preview = cad.commands.pattern_along_line(
    alias="front.armhole.guide",
    first_point={"alias": "front.shoulder"},
    second_point={"alias": "front.underarm"},
    length_mm=35,
)
# Inspect preview.summary, then commit explicitly:
# garmentcad commit <preview.preview_token> --path ./projects/sample
```

Valentina, Tape, and Puzzle recipes use the schema-generated typed atomic surface. They create all
2D geometry; GarmentCode only receives a read-only projection for sewing and 3D placement. The same
contracts are embedded in lazily loaded MCP tool schemas:

```python
assembly_preview = cad.sync_assembly_from_pattern(bindings={"interfaces": [], "stitches": []})
```

Quick start:

```bash
./scripts/bootstrap-macos.sh
uv run garmentcad create ./projects/sample
./scripts/test.sh
```

Both MCP servers can create a project from the minimal Valentina-authored seed. Claude Code uses
`.mcp.json`; local Codex clients use `.codex/config.toml`. Codex starts the atomic catalogs eagerly
because Codex 0.144.1 does not refresh tools registered after `catalog_search`. The stable
`command_preview` core tool remains available to clients that cannot refresh a dynamic catalog.

Exercise integration fixtures without editing `.val` XML (these are rectangular
test panels, **not usable bodice/shirt/trouser patterns**):

```bash
uv run python scripts/recipes/draft_qualification_pattern.py bodice /tmp/bodice --create
uv run python scripts/recipes/draft_qualification_pattern.py shirt /tmp/shirt --create
uv run python scripts/recipes/draft_qualification_pattern.py trousers /tmp/trousers --create
```

Run the public real-pattern qualification suite and open its HTML report:

```bash
GARMENTCAD_VALENTINA_COMMAND="$PWD/scripts/valentina-command-host.sh" \
  uv run garmentcad-corpus validate --output build/reports/real-patterns
open build/reports/real-patterns/report.html
```

Read [the architecture](docs/ARCHITECTURE.md), [setup guide](docs/SETUP.md), and
[native Valentina host contract](docs/VALENTINA_HOST.md). The
[acceptance ledger](docs/ACCEPTANCE.md) separates locally proven gates from the pending real-GPU
evidence. See `THIRD_PARTY.md` for exact upstream commits and licenses.

For actual drafting, use the project-local `garment-patternmaking` skill in
`.agents/skills/`. The [drafting evaluation record](docs/DRAFTING_EVALUATION.md)
describes real GPT-6 attempts, paper-pattern checks and remaining limits.
`pattern_inspect`, `seam_compare` and `pattern_check` expose read-only native
measurements; they report only the explicitly checked criteria, not fit approval.

For ongoing client work, `work_order_save/read/check` preserves the brief, body versus
finished measurements, assumptions, required piece roles and native checks alongside
the project. Reports become stale when the task or CAD content changes. `knowledge_search`
retrieves a small, sourced offline reference library; it is not a database of certified
mother patterns. See [the workflow research and implementation](docs/CONTEXT_AND_WORKFLOW_RESEARCH.md).
These tools need no database service and do not upload customer data.

For the single-agent image → draft → sew → physical preview → revise workflow, see
[the 3D loop record](docs/SINGLE_AGENT_3D_LOOP.md). `simulation_run_local` runs the
pinned physical solver on local CPU using configured body/material/camera inputs;
it preserves failed meshes and views as diagnostic evidence. It does not certify fit.
Native cut instances, sewing directions, outward placement and actual convergence
must be verified; a placed mesh or an imported library is not a simulated garment.

## Current integration status

- GarmentCode native-document sync, placement, interface/stitch transactions, SDK, and MCP:
  implemented and tested. There is no Python-side panel geometry kernel.
- Remote worker upload, serial execution, cache, polling, artifacts, and screenshot enforcement:
  implemented together with the pinned Warp/GarmentCode runner, AutoDL bootstrap, and SSH tunnel;
  deployment supplies the body assets and an NVIDIA AutoDL instance.
- Valentina/Tape/Puzzle native command services, MCP catalog, and schema-generated typed recipes:
  implemented with complete reviewed handler coverage.
- Native previews include compact image resources; full coordinates, change-sets, assembly data,
  exports, and simulation logs remain URI-addressable on demand.
- The checked-in public corpus contains 85 `.val` files: the current strict run passed every
  self-contained production-like case; missing measurement assets and regression rejections remain
  visible as separate report categories.

The boundary remains explicit: this project never edits `.val` XML behind Valentina's back.
Passing this suite establishes CAD transport and transaction fidelity, not that an unaudited agent
draft is fit for manufacture.

TDQS

B3.3/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct actions (create, import, open, status, search, read, commit, preview, discard, revert). However, project_open and project_status both relate to viewing project state, which could cause minor confusion, though their descriptions clarify that status refreshes state while open returns it.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., project_create, changeset_commit, revision_revert). No mixed conventions or vague verbs; the naming is highly predictable and readable.

Tool Count5/5

The server has 10 tools, which is well within the typical 3-15 range. Each tool serves a distinct purpose in the garment CAD workflow, and the count feels proportionate to the domain without being excessive or thin.

Completeness4/5

The tool surface covers core project lifecycle (create, import, open, status), changeset management (commit, discard), and revision operations (revert). Minor gaps exist such as no project deletion or listing, but the provided tools cover the primary workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues