Skip to main content
Glama
meshy-dev

Meshy MCP Server

Official
by meshy-dev

Creative Lab — Make a Product (end-to-end)

meshy_creative_lab

Generate a finished 3D product model from a photo—figures, keychains, lamps, keycaps, or fidgets—by running concept and build stages in one call.

Instructions

Turn a photo (file_path or image_url; no text prompt) into a finished Creative Lab product 3D model, end to end.

Products and cost — confirm before calling:

  • figure (chibi), vinyl-figure, brick-figure, keychain, fridge-magnet, fidget-pixel (pixel-art board of interlocking pieces) → 36 credits (6 + 30)

  • lamp (3D-printable lampshade with base plate) → 36 (30 + 6)

  • keycap (Cherry MX 1u) → 62 (12 + 50)

  • fidget-collapsible (nested-ring fidget from the photo's outline) → 6, one stage

Most products run a concept prototype, then a 3D build. One call runs both, blocks while they run (typically 2–5 minutes, with progress) and returns only the final model; the concept image is internal and never shown. If the prototype does not succeed, the build is NOT started: a FAILED stage is refunded; one still running when the wait ends keeps running and is charged.

Outputs: GLB (or output_format) for figures, keychain and fridge-magnet; lamp_stl (+ base_stl with a fixture preset); keycap a model; fidget-pixel a 3MF with one object per piece; fidget-collapsible STL + GLB. Download with meshy_download_model and the task_type this tool reports; omit format to save every part. To multicolor-print it, pass its GLB URL (or a GLB data URI) to meshy_process_multicolor as model_url; its task id is not accepted there.

Examples:

  • { product: "keychain", file_path: "/Users/me/dog.jpg", name_text: "Biscuit", build_options: { badge_shape: "star" } }

  • { product: "fidget-pixel", file_path: "/Users/me/cat.jpg", pixel_subject: "other", build_options: { grid_size: 16 } }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name for the task; not engraved (see name_text).
productYesThe product (see the tool description for costs).
file_pathNoAbsolute path to a local photo; the server encodes it.
image_urlNoPublic URL or data URI of the photo (.jpg/.jpeg/.png/.webp). For local files use file_path.
name_textNoKeychain only: text to engrave, ≤10 characters (CJK count one each).
base_modelNoKeycap only: base profile (Cherry MX 1u).
head_size_mmNoKeycap only: the head's LONGEST edge in mm (default 23), not its height.
build_optionsNoBuild options (the API checks ranges). Keychain / fridge-magnet: badge_shape (circle|rounded-rect|hexagon|shield|star), size_mm, relief_height_mm, relief_offset_mm, base_thickness_mm, has_closed_back, relief_curve (linear|gamma|s-curve), curve_param, invert_depth, smoothing, relief_scale, depth_threshold, remove_background, export_resolution. Lamp: diameter_mm (50–400), thickness_mm, cut_amount_percent, light_source_preset (bambu_mh001_60mm|none), fixture_offset_x_mm, fixture_offset_z_mm, rotate_x_deg, rotate_y_deg, rotate_z_deg, include_result_json. Fidget pixel: shape (square|hex), grid_size (16|32), piece_size_mm (6|8|10; hex 6|8), color_count (1–8), piece_height_mm (10–80). Other products take none.
image_subjectNoLamp only: what the photo shows.
output_formatNoKeychain / fridge-magnet: glb (default), obj (zip of OBJ + MTL + texture) or zip (everything). Lamp: stl (default) or zip. Fidget pixel: 3mf. Others: none.
pixel_subjectNofidget-pixel only, REQUIRED: 'person' → chibi pixel sprite; 'other' (pets, objects, logos, landscapes) → bead-art icon.
response_formatNomarkdown (default) or jsonmarkdown
timeout_secondsNoMax wait per stage in seconds; a longer stage keeps running (check it with meshy_get_task_status).
vertical_offset_mmNoKeycap only: raise (+) or lower (-) the head on the base, in mm (default 0).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.4

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (non-readonly, non-idempotent, non-destructive), and the description adds much more: the call blocks for 2–5 minutes per stage with progress, returns only the final model, never surfaces the concept image, refunds FAILED stages, and charges still-running stages after timeout. The multicolor handoff constraint (task id not accepted) is a genuinely useful operational disclosure.

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?

Front-loaded with the one-line purpose, then organized into scannable labeled sections (Products and cost, Outputs, Examples). It is long, but for a 14-parameter tool with nine product variants and an internal multi-stage pipeline, nearly every line carries load; only the outputs paragraph is borderline verbose.

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?

There is no output schema, so the description carries the return-value burden itself by enumerating output artifacts per product (GLB, lamp_stl/base_stl, 3MF, STL+GLB) and naming the download path. Combined with timeout semantics and the multicolor follow-on, an agent has everything needed to call and chain this correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description goes further by attaching credit costs to each product enum value and clarifying product-specific parameter scoping (name_text keychain-only ≤10 chars, base_model keycap-only, pixel_subject required for fidget-pixel). The worked examples also demonstrate non-obvious parameter combinations.

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?

States a specific verb and resource — 'Turn a photo into a finished Creative Lab product 3D model, end to end' — and immediately establishes scope (photo input only, no text prompt). The product enum list with per-product descriptions makes its distinctness from generic siblings like meshy_image_to_3d obvious to an agent.

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?

Gives strong routing guidance: 'confirm before calling' on cost, pass the reported task_type to meshy_download_model, and use meshy_process_multicolor with the GLB URL (explicitly noting the task id is not accepted). It does not, however, explicitly compare itself against the alternative generation tools (meshy_image_to_3d etc.), leaving the 'why this over that' inference to the agent.

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