Marvelous Designer MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONUTF8 | No | Set to '1' to enable UTF-8 mode for the Python server process, as used in client configuration examples. | 1 |
| MD_MCP_HOST | No | Host for the client endpoint (default 127.0.0.1). | 127.0.0.1 |
| MD_MCP_PORT | No | Port for the client endpoint (default 7421). | 7421 |
| MD_MCP_DOCS_DB | No | Optional alternate path to the documentation SQLite database. | |
| MD_MCP_TIMEOUT | No | Timeout in seconds for MCP operations (default 120; client examples use 600). | 120 |
| MD_MCP_DATA_DIR | No | Absolute directory for user data (default %LOCALAPPDATA%\marvelous-designer-mcp\) | %LOCALAPPDATA%\marvelous-designer-mcp\ |
| MD_MCP_ALLOW_RAW_PYTHON | No | Set to '0', 'false', 'no', or 'off' to disable the raw Python execution tool. Enabled by default. | 1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Verify the MD listener is reachable. Returns whatever the listener echoes back. |
| shutdown_listenerA | Stop the MD listener and release its timer and TCP connections. |
| execute_pythonA | Execute reviewed Python; import API modules and assign result. Look up docs/runtime first. Static guard is not a sandbox; modal-risk calls require explicit override. Raw code can change the scene and access embedded Python filesystem/process capabilities. Not a sandbox. MD_MCP_ALLOW_RAW_PYTHON=0 refuses this tool. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| preflight_pythonA | Classify visible calls as safe, potentially modal, unsafe or unknown without execution. Does not mutate the MD scene. |
| scene_infoA | Project, MD/Python version, pattern and fabric counts. Does not mutate the MD scene. |
| environment_infoA | Runtime, MCP commit/version, documentation timestamp and connection health. Does not mutate the MD scene. |
| md_apiC | List runtime symbols; inspect_md_api reads signatures safely without trial calls. Does not mutate the MD scene. |
| inspect_md_apiA | Runtime availability, callable/type/signature, docstring and pybind overloads without invoking functions. Does not mutate the MD scene. |
| search_md_docsA | Search local official MD docs with BM25; return signatures and sources. Does not mutate the MD scene. Requires local index: md-mcp update-docs. Documentation can lag the runtime. |
| get_md_docA | Exact API/type documentation, overloads, parameter meanings, returns and source. Does not mutate the MD scene. Requires local index: md-mcp update-docs. Documentation can lag the runtime. |
| search_md_scenariosA | Search official Pattern, Simulation, Animation and Substance scenarios. Does not mutate the MD scene. Requires local index: md-mcp update-docs. Documentation can lag the runtime. |
| get_md_scenarioA | Read one official scenario; adapt paths and review mutations before execution. Does not mutate the MD scene. Requires local index: md-mcp update-docs. Documentation can lag the runtime. |
| list_patternsA | Structured patterns with runtime indices, geometry, fabrics, placement and sewing groups. Does not mutate the MD scene. |
| get_pattern_infoB | Inspect geometry and line indices before edits; ambiguous mappings are flagged. Does not mutate the MD scene. |
| get_pattern_pointsB | Point coordinates in mm and IDs; curve point mutation mapping is unverified. Does not mutate the MD scene. |
| create_patternA | Create [x_mm,y_mm,type] vertices: 0=straight,2=spline,3=Bezier. Verify resulting pattern. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| move_pattern_pointA | Prefer point_ref for verified outer endpoints, including curved boundaries. Legacy numeric form supports straight polygons. Re-read after STALE_REFERENCE. x/y are 2D millimetres; obtain point_ref from get_pattern_topology. Geometry changes invalidate the old refs. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| delete_patternA | Inspect, delete and verify count change. Remaining indices may shift. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| list_sewingsC | Sewing groups, pattern/edge references, directions and raw properties. Does not mutate the MD scene. |
| inspect_sewingA | Read a sewing group; partial-edge/internal-shape line indices may be unresolved. Does not mutate the MD scene. |
| create_sewingA | Prefer side_a/side_b edge refs for whole straight/curved/internal edges; optional ranges must be 0..1. Explicit boolean directions required. Legacy indices support straight outer edges. Only full-edge ranges [0,1] are supported; partial/free sewing is unverified. Obtain both refs from fresh topology. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| list_fabricsA | All object-browser fabrics plus current-colorway used count. Does not mutate the MD scene. |
| assign_fabricA | Assign and verify. Legacy face is colorway option, NOT surface face: 1=current,2=all unlinked,3=all linked. Prefer assign_option. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| get_pattern_fabricA | Read actual pattern fabric assignment. Does not mutate the MD scene. |
| avatar_infoA | Read avatar count, names and runtime properties. Does not mutate the MD scene. |
| project_infoA | Read active project and runtime state. Does not mutate the MD scene. |
| simulateA | Simulate steps (=frames) and verify synchronous success; does not claim convergence. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| simulation_stateA | Native quality, pattern and mesh counts; physical convergence/collision judgments are not exposed. Does not mutate the MD scene. |
| save_projectA | Save a new ZPRJ checkpoint and verify file. Existing outputs are protected. Requires a new absolute output path. ZPRJ save may change the active project path. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| export_projectA | Save ZPRJ with explicit path; API bool controls thumbnail creation. Requires a new absolute output path. ZPRJ save may change the active project path. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| export_objA | Export OBJ with explicit options, scale, axes and object selection; verify output. Requires a new absolute path; inspect runtime ExportOBJOption fields before choosing options. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| export_fbxA | Export FBX with explicit runtime options; verify output. Requires a new absolute path; inspect runtime ExportFBXOption fields before choosing options. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| import_projectA | Prefer .zprj plus explicit ImportZPRJOption (including bAppend). Legacy generic import requires modal-risk acknowledgement. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| import_garmentA | Import .zpac using explicit ImportExportOption including bAdd; verify count. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| import_avatarA | Import verified OBJ avatar using explicit scale/axes/type=0; AVT still needs modal acknowledgement. Use an existing absolute path and explicit scale/axis options. OBJ ImportObjectType=0 is verified; FBX/AVT avatar imports are unverified. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| get_pattern_topologyB | UUID + native point/line enumeration + geometry snapshot refs. Read again after STALE_REFERENCE; ambiguous mappings are never guessed. Select by UUID, unique name or freshly inspected index. Prefer returned stable refs for edits; curve controls are not movable native endpoints. Does not mutate the MD scene. |
| reconcile_operationA | Read durable MD completion receipt and output evidence; returns SUCCEEDED/FAILED/UNKNOWN and never retries. Pass the operation_id from the original call. FAILED can include partial effects; UNKNOWN needs scene/output inspection. Does not mutate the MD scene. |
| create_checkpointA | Save a unique ZPRJ checkpoint. Retain latest 20; older than 7 days are cleaned on creation. May affect the current project path depending on MD API behavior. Keep durable project saves outside this auto-cleaned cache. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| restore_checkpointA | Replace active scene with a verified checkpoint and invalidate all topology refs. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| get_simulation_metricsA | On-demand garment OBJ positions and index-based displacement if connectivity/UUIDs match; never judges convergence. Writes an OBJ measurement in user cache. Compare to previous_snapshot_id only if topology matches; no persistent vertex IDs or collision/convergence guarantee. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| pattern_arrangementA | Read/set verified arrangement X/Y/offset parameters. Not absolute world translation or Euler rotation. Controls Marvelous Designer arrangement parameters, NOT a verified world-space transform. Omit arrangement_offsets to read; otherwise supply three integers. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
| fabric_materialA | Read/set FRONT/BACK/SIDE RGBA (0..1). Setting BACK/SIDE unlinks material/color from FRONT. Verified MD 2026.0.315. Omit rgba to read. This face enum is distinct from fabric assignment colorway options. May change scene or write files. Verify resulting state. A timed-out operation is UNKNOWN: reconcile_operation before any retry. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 42 tools
Several tools have overlapping purposes: save_project/export_project both save ZPRJ files with explicit paths, and list_patterns/get_pattern_info/get_pattern_points/get_pattern_topology all expose pattern geometry reads. The descriptions try to differentiate but the boundaries are subtle, which will cause misselection.
Names are consistently snake_case and mostly verb_noun, but read operations mix list/get/inspect/info (list_patterns, get_pattern_info, inspect_sewing, pattern_arrangement) and a few are bare nouns (ping, md_api, fabric_material). This is readable but not fully predictable.
42 tools is well into the 'too many' range for a single application server; many are highly specialized (pattern_arrangement, fabric_material, get_simulation_metrics) and several overlap. The set could be consolidated to ~20-25 tools without losing capability.
The surface covers the core domain well: pattern CRUD (create/read/move/delete), sewing create/read, fabric assignment, simulation, project import/export/checkpoint, plus docs and Python execution. Minor gaps exist (no sewing update/delete, no pattern update beyond point moves) but agents can work around them.