Skip to main content
Glama
0xZoharHuang

garment-cad-mcp

by 0xZoharHuang

garment-cad-mcp

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

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.

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:

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

Quick start:

./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.

Create complete multi-piece qualification drafts without editing .val XML:

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:

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, setup guide, and native Valentina host contract. The acceptance ledger separates locally proven gates from the pending real-GPU evidence. See THIRD_PARTY.md for exact upstream commits and licenses.

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.

Available Tools

10 tools
changeset_commitA

Atomically commit one valid preview at its recorded base revision/hash.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
preview_tokenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations indicate this is mutating, non-idempotent, and non-destructive. The description adds valuable behavioral context beyond that: the operation is atomic, requires a valid preview, and commits at a specific revision/hash. This gives useful expectations about side effects and preconditions, though it does not detail failure modes or permission requirements.

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 a single, focused sentence that front-loads the primary action and constraints. Every word contributes meaning, and there is no redundant or vague filler.

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

Completeness3/5

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

The description captures the core behavior and atomicity but omits practical details such as what path should point to, how preview_token is obtained, and the exact meaning of 'base revision/hash'. Given the low schema coverage and lack of parameter explanations, the description is adequate but leaves important gaps for an agent to invoke the tool correctly.

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

Parameters2/5

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

The input schema has no descriptions, and the description does not explain what 'path' or 'preview_token' actually refer to. While 'preview' in the description hints that preview_token is a preview identifier, 'path' remains ambiguous, and there is no mention of how these parameters relate to the commit operation.

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 uses a specific verb 'commit' with a clear resource ('one valid preview') and adds important constraints ('at its recorded base revision/hash'). It distinguishes itself from sibling tools like changeset_discard and revision_revert by focusing on committing a preview rather than discarding or reverting.

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

Usage Guidelines3/5

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

The description implies usage context: only commit a preview that is valid, and do so at the recorded base revision/hash. However, it does not explicitly state when to use this tool versus alternatives such as changeset_discard, nor does it mention prerequisites like generating a preview token.

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

changeset_discardA

Discard one immutable preview without changing native CAD truth.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
preview_tokenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With all annotations false, the description carries the full burden of behavioral disclosure. It does disclose the key trait that the preview is immutable and that native CAD truth is unaffected, but it lacks details on idempotency, reversibility, or what happens to the preview token after discard.

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 a single concise sentence that front-loads the core action and adds the key qualifier about native CAD truth. Every word contributes to understanding, with no redundancy or filler.

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

Completeness3/5

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

For a simple tool with only two parameters and an output schema, the description is minimally adequate but leaves gaps. It does not mention prerequisites (e.g., existing preview) or what the response contains, and the parameter semantics are unclear. These gaps prevent full completeness.

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

Parameters2/5

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

The input schema has 0% description coverage, and the description provides no explanation of what 'path' or 'preview_token' mean beyond the word 'preview'. It fails to connect these parameters to the tool's purpose, leaving the agent to guess how to fill them correctly.

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 uses the specific verb 'Discard' with the resource 'immutable preview', clearly stating the action and scope. It also distinguishes itself from sibling tools like changeset_commit and command_preview by emphasizing that it discards, not commits or previews.

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 provides clear context that the tool is for discarding a preview while leaving the native CAD truth unchanged, implying when it should be used. However, it does not explicitly mention alternatives or exclusion scenarios, so it stops short of full guidance.

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

command_previewB

Preview one catalog action without requiring a dynamically refreshed tool list.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
authorNoagent
targetNo
messageNo
argumentsNo
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior1/5

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

The description says 'Preview', implying a read-only operation, but annotations set readOnlyHint:false, suggesting the tool may not be read-only. This is a direct contradiction. No other behavioral traits are disclosed.

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?

One sentence, front-loaded, concise, and free of filler. Every word contributes to understanding the tool's core function.

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

Completeness2/5

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

Despite an output schema existing, the description is too sparse for a tool with six parameters and an enum. It doesn't explain the semantics of 'action', 'target', 'arguments', or 'project_path', leaving the agent to infer critical details from the schema alone.

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

Parameters1/5

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

Schema description coverage is 0%, and the description mentions none of the six parameters, the required project_path and action, or the action enum. The description adds no parameter meaning beyond the raw schema.

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 uses a specific verb ('preview') and resource ('catalog action'), and differentiates itself by noting it works without a dynamically refreshed tool list. This clearly distinguishes it from sibling tools like project_open or catalog_search.

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 a clear context for when to use the tool: to preview a catalog action without needing to refresh the tool list. It does not explicitly state when not to use, but the intended use case is unambiguous.

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

project_createA

Create a minimal native-authored Garment Project for drafting from scratch.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations provide a baseline (readOnlyHint=false, destructiveHint=false), and the description confirms the mutating nature by saying 'Create'. It adds the behavioral context that the project is 'minimal' and 'native-authored', which hints at the scope and format of what is created. However, it does not disclose potential side effects (e.g., whether an existing project at the path is overwritten) or any required permissions.

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 a single sentence with no redundancy. It front-loads the verb 'Create' and immediately identifies the resource and purpose. Every word contributes meaning, making it an example of concise and well-structured documentation.

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

Completeness2/5

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

Even though the tool is simple (2 parameters, output schema exists), the description fails to explain the key parameter 'path', which is required. The output schema may cover return values, but the agent cannot correctly invoke the tool without knowing what path should contain. The description is too minimal to be considered complete.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate by explaining the parameters. It does not mention 'path' or 'name' at all, leaving the agent to infer what these mean. The only clue is the word 'Project', but the required 'path' parameter is not clarified, which is a significant gap.

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 clearly states the action ('Create') and the resource ('a minimal native-authored Garment Project'), with the qualifier 'for drafting from scratch' that distinguishes it from sibling tools like project_import and project_open. It is specific and unambiguous, leaving no doubt about what the tool does.

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 phrase 'for drafting from scratch' provides clear context for when to use this tool—when starting a new project from an empty state. However, it does not explicitly mention alternatives, such as using project_import to bring in an existing project, which would strengthen the guidance.

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

project_importB

Import native .val and optional Tape files without parsing or rewriting them.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
project_pathYes
source_patternYes
measurement_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

With no useful annotations (all false), the description must disclose behavioral traits. It states that files are not parsed or rewritten, which is transparent about non-modification of source content. However, it does not explain what 'import' actually does to the project (e.g., adds references, copies, requires existing project) or whether it has side effects. This is insufficient for a write-capable tool.

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 a single, concise sentence with no unnecessary words. It is front-loaded with the action verb 'Import' and specifies key file types. This is an appropriate size for a tool description, even if other dimensions suffer from under-specification.

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

Completeness1/5

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

Given the tool has 4 parameters (2 required), no schema descriptions, and no helpful annotations, the description is far from complete. It does not address prerequisites, project state, or parameter meanings. The output schema exists but that does not mitigate the missing guidance on inputs and behavior.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate by explaining parameters. It only hints at file types (.val and Tape) but does not mention project_path, source_pattern, name, or measurement_files. No parameter is described, leaving the agent without guidance on how to fill them.

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 clearly states the tool's function: importing native .val and optional Tape files. It uses a specific verb (Import) and resource (native file types), and the tool name project_import distinguishes it from siblings like project_create or project_open. The scope is well-defined.

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

Usage Guidelines3/5

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

The description implies usage when needing to bring existing .val or Tape files without modification, but it does not explicitly state when to use this tool versus alternatives such as project_create or project_open. No exclusions or prerequisites are mentioned, so guidance is only implied.

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

project_openA
Read-onlyIdempotent

Open an existing Garment Project and return compact current state.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds value by noting 'existing' (implying a valid path is required) and 'compact current state' (indicating a reduced, summarized output), but it does not disclose potential errors or the meaning of 'compact' in detail. No contradiction with annotations.

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 a single, front-loaded sentence that is concise and free of redundant content. Every word contributes meaning, making it efficient and easy to parse.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, rich annotations, and an output schema), the description is adequately complete. It states the core action and expected return. However, it could be enhanced by mentioning behavior on non-existent paths or the use of the tool as a prerequisite for other project operations, but these are not critical given available structured metadata.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for explaining the 'path' parameter. It only implies that path points to an existing project, but provides no details about format, absolute vs. relative, or accepted project types. This is minimally helpful beyond the parameter name.

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 clearly states the action ('Open') and the specific resource ('existing Garment Project'), and specifies the outcome ('return compact current state'). This distinguishes it from siblings like project_create, project_import, and project_status by conveying the intent to load an existing project rather than create, import, or merely query status.

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

Usage Guidelines3/5

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

The description implies when to use the tool (to open an existing project) but provides no explicit guidance on alternatives or exclusion criteria. With siblings like project_status and resource_read, the description does not clarify when to prefer this tool over them, leaving usage context somewhat ambiguous.

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

project_statusC
Read-onlyIdempotent

Refresh revision, content hash, GUI-dirty state, and project identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds useful context by listing the specific fields refreshed, but the word 'Refresh' could be slightly misleading without annotations and no further behavioral nuances (e.g., caching, network) are disclosed.

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

Conciseness4/5

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

The description is very concise and front-loaded with the verb, listing four relevant data elements in a single sentence. It is efficiently structured, though 'project identity' is somewhat vague.

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

Completeness2/5

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

Despite having strong annotations and an output schema, the description lacks critical context: the meaning of 'path', when to use the tool, and any prerequisites (e.g., project must be open). It feels like a terse snippet rather than a complete guide for an agent.

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

Parameters1/5

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

The only parameter 'path' has no schema description, and the tool description doesn't explain what 'path' refers to (e.g., project path, file system path). With 0% schema description coverage, the description was required to compensate but failed to do so.

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

Purpose4/5

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

The description uses the verb 'Refresh' with a specific resource and lists the data elements (revision, content hash, GUI-dirty state, project identity). This distinguishes it from sibling tools like project_create or project_import, though it doesn't explicitly name them.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives like project_open or resource_read. It doesn't mention prerequisites such as whether the project must already be open or imported, leaving the agent to infer usage context.

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

resource_readB
Read-onlyIdempotent

Read a project change-set, preview, thumbnail, or content-addressed artifact.

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYes
project_pathYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, providing a clear safety profile. The description adds minimal behavioral context by listing the artifact types that can be read, but it does not disclose return format, error cases, or auth requirements. It does not contradict the annotations.

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 a single, clear sentence that immediately conveys the tool's function. It contains no redundant words and is perfectly front-loaded, making it highly efficient.

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

Completeness3/5

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

The tool is a simple read operation with good annotation coverage, so the description does not need to explain safety. However, it lacks any mention of output structure or usage context, and the overlap with command_preview is not addressed. It is adequate for a minimal read tool but not comprehensive.

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

Parameters2/5

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

The input schema has two parameters (project_path and uri) with no descriptions, and the tool description also does not explain their semantics. With schema description coverage at 0%, the description fails to compensate, leaving the meaning of 'uri' and its relationship to 'project_path' ambiguous beyond the parameter names.

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

Purpose4/5

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

The description clearly states the action ('Read') and enumerates the types of resources it applies to ('project change-set, preview, thumbnail, or content-addressed artifact'), making the purpose specific. However, it does not explicitly differentiate itself from sibling tools like command_preview, which also deals with 'preview', so it stops short of full distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It only states what the tool does without mentioning exclusions, prerequisites, or scenarios where a sibling tool would be more appropriate.

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

revision_revertC

Append a reverse revision from native CAD preimages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
authorNoagent
revisionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2/5.0
Behavior2/5

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

Annotations are all false (readOnlyHint=false, etc.), so the description must carry the transparency burden. 'Append' implies a write operation, but there is no detail on side effects, permissions, reversibility, or what 'reverse revision' means in practice. This is a mutation tool with minimal behavioral disclosure.

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

Conciseness2/5

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

The description is a single sentence and technically concise, but it omits critical information. It is under-specified rather than efficiently informative, so the brevity does not serve the agent's needs.

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

Completeness1/5

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

Given a 3-parameter tool with zero schema coverage and no output schema explanation, the description is grossly incomplete. It does not convey the tool's operation, when to use it, parameter semantics, or expected results, making it nearly useless for an AI agent.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description provides no explanation of any parameters. It doesn't clarify the meaning of 'path', 'author', or 'revision', nor how they relate to 'native CAD preimages'. The description entirely fails to compensate for the schema's lack of documentation.

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

Purpose3/5

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

The description uses a specific verb ('Append') and identifies a resource ('reverse revision from native CAD preimages'), but the meaning of 'reverse revision' is jargon-like and not clearly explained. It doesn't distinguish from sibling tools like changeset_commit or resource_read, and the purpose remains ambiguous without inferring from the tool name.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusions, leaving the agent to guess based on the name.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.1.0
    • First observedcatalog_search
    • First observedchangeset_commit
    • First observedchangeset_discard
    • First observedcommand_preview
    • First observedproject_create
    • First observedproject_import
    • First observedproject_open
    • First observedproject_status
    • First observedresource_read
    • First observedrevision_revert

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Local-first code intelligence and safety layer for AI coding agents. MCP server exposes dependency graph, impact analysis, and AST-compressed repo context, backed by typed local memory, patch-scope safety gates, and git-independent transaction rollback.
    1
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Local-first MCP runtime for coding agents with bounded workspace access, content-preconditioned writes, AST search, LSP navigation and diagnostics, and Git status/diff. Designed to give coding agents useful repository access without treating unrestricted shell access as the default integration boundary.
    2
    13
    2
    MIT