Skip to main content
Glama
Meshy MCP Server

Meshy MCP Server

Official
by meshy-dev

Retexture 3D Model

meshy_retexture

Apply new AI-generated textures to an existing 3D model from a text prompt, a style reference image, or multiview photos, with optional PBR maps and up to 8K resolution.

Instructions

Apply new AI textures to an existing model. Cost: 10 credits (15 at 8K).

Ask the user for EXACTLY ONE style input (the tool rejects combinations):

  • text_style_prompt: the style in words ("rusty metal", "cartoon")

  • image_style_url: one image used as a STYLE reference

  • multiview_image_urls: 1–4 photos OF THE SAME OBJECT from different angles (not style references)

ai_model "meshy-n1" (Meshy N1, 10 credits) textures from reference images only: image_style_url (one view of the object, read as the front) or multiview_image_urls (front view first, the rest in any order). It makes a 2K base color texture and nothing else, so it takes no text_style_prompt, enable_pbr, 4k/8k or remove_lighting.

Example: { input_task_id: "abc-123", text_style_prompt: "rusty metal" } Meshy N1: { input_task_id: "abc-123", ai_model: "meshy-n1", multiview_image_urls: ["", ""] }

Input Schema

NameRequiredDescriptionDefault
ai_modelNo'latest' (default, = Meshy 7), 'meshy-7', 'meshy-6', 'meshy-6-lite' (fast, 2K only), or 'meshy-n1' (Meshy N1: a 2K base color texture from image_style_url or 1–4 multiview_image_urls, front view first; no text prompt, no PBR; 10 credits). No meshy-7.1 here.latest
model_urlNoPublic URL of a .glb / .gltf / .obj / .fbx / .stl model (max 400 MB), or a GLB data URI (max 100 MB)
enable_pbrNoAlso make metallic/roughness/normal maps. Not with meshy-n1.
hd_textureNoDeprecated: use texture_resolution '4k'.
input_task_idNoA SUCCEEDED text-to-3d (preview or refine), image-to-3d or remesh task
target_formatsNoFormats to produce (default: all but 3mf; list '3mf' to get it).
alpha_thumbnailNoAlso return a transparent-background preview (alpha_thumbnail_url).
image_style_urlNoOne image used as the style reference. With meshy-n1: a view of the object, read as the front view.
remove_lightingNoRemove highlights/shadows from the base color (meshy-6 only; API default true there). Not with meshy-n1.
response_formatNomarkdown (default) or jsonmarkdown
text_style_promptNoThe texture style in words (max 800 characters). Not with meshy-n1.
enable_original_uvNoKeep the existing UVs instead of a fresh unwrap. Default true with input_task_id, false with model_url (safest for uploads).
texture_resolutionNoBase color texture: 2k (default), 4k or 8k (15 credits instead of 10; PBR maps stay 4K, no emission map). 4k/8k not on meshy-6-lite or meshy-n1.
multiview_image_urlsNo1–4 views of the same object: element 0 is the primary (front) view, the others in any order. Needs ai_model 'meshy-7' ('latest' is sent as 'meshy-7'; element 0 alone drives metallic/roughness) or 'meshy-n1'.

Output Schema

NameRequiredDescriptionDefault
statusYes
messageYes
task_idYes
estimated_timeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.6.9
    • changedInput schema / properties / ai_model / description
      Previous value: -"'latest' (default, = Meshy 7), 'meshy-7', 'meshy-6', or 'meshy-6-lite' (fast, 2K only). No meshy-7.1 here."New value: +"'latest' (default, = Meshy 7), 'meshy-7', 'meshy-6', 'meshy-6-lite' (fast, 2K only), or 'meshy-n1' (Meshy N1: a 2K base color texture from image_style_url or 1–4 multiview_image_urls, front view first; no text prompt, no PBR; 10 credits). No meshy-7.1 here."
    • changedInput schema / properties / ai_model / enum
      Previous value: -[
      -  "meshy-6-lite",
      -  "meshy-6",
      -  "meshy-7",
      -  "latest"
      -]New value: +[
      +  "meshy-6-lite",
      +  "meshy-6",
      +  "meshy-7",
      +  "meshy-n1",
      +  "latest"
      +]
    • changedInput schema / properties / enable_pbr / description
      Previous value: -"Also make metallic/roughness/normal maps."New value: +"Also make metallic/roughness/normal maps. Not with meshy-n1."
    • changedInput schema / properties / image_style_url / description
      Previous value: -"One image used as the style reference."New value: +"One image used as the style reference. With meshy-n1: a view of the object, read as the front view."
    • changedInput schema / properties / multiview_image_urls / description
      Previous value: -"1–4 ordered views of the same object; element 0 is primary and alone drives metallic/roughness. Needs Meshy 7 ('latest' is sent as 'meshy-7')."New value: +"1–4 views of the same object: element 0 is the primary (front) view, the others in any order. Needs ai_model 'meshy-7' ('latest' is sent as 'meshy-7'; element 0 alone drives metallic/roughness) or 'meshy-n1'."
    • changedInput schema / properties / remove_lighting / description
      Previous value: -"Remove highlights/shadows from the base color (meshy-6 only; API default true there)."New value: +"Remove highlights/shadows from the base color (meshy-6 only; API default true there). Not with meshy-n1."
    • changedInput schema / properties / text_style_prompt / description
      Previous value: -"The texture style in words (max 800 characters)."New value: +"The texture style in words (max 800 characters). Not with meshy-n1."
    • changedInput schema / properties / texture_resolution / description
      Previous value: -"Base color texture: 2k (default), 4k or 8k (15 credits instead of 10; PBR maps stay 4K, no emission map). 4k/8k not on meshy-6-lite."New value: +"Base color texture: 2k (default), 4k or 8k (15 credits instead of 10; PBR maps stay 4K, no emission map). 4k/8k not on meshy-6-lite or meshy-n1."
  2. First observedv0.6.4

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, open-world, non-idempotent but non-destructive operation, so the safety profile is covered. The description adds genuinely useful context beyond that: credit cost (10, or 15 at 8K) and the per-model capability limits that cause silent failures. It does not cover async behavior, task polling, or error conditions, which matters for a job-creating tool, so it lands just at adequate-plus.

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

Conciseness3/5

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

It is well structured with a cost line, a numbered input-choice list, and worked examples, all front-loaded. However, the meshy-n1 restrictions are stated twice — once in the numbered list and again in the dedicated paragraph — and the example block repeats structure already implied by the schema, adding length without new information.

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?

With 14 parameters, three enums, and conflicting model-specific rules, this tool needs substantial guidance and the description supplies it, plus an output schema means return values need no explanation. The only gap is that it never mentions the asynchronous task lifecycle or how to follow up on the created job.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline of 3 applies and all 14 parameters are already documented in the schema. The description reinforces the most error-prone interaction (mutually exclusive style inputs) and the meshy-n1 restrictions, but it does not document parameters the schema leaves implicit.

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 opening sentence gives a specific verb and resource ("Apply new AI textures to an existing model"), which is clearly distinct from siblings like meshy_convert, meshy_remesh, and meshy_uv_unwrap. An agent can identify this as the retexturing step without opening the schema.

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

Usage Guidelines5/5

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

It states the core selection rule explicitly — ask the user for EXACTLY ONE of text_style_prompt, image_style_url, or multiview_image_urls, since the tool rejects combinations — and explains each alternative's semantics (style reference vs. photos of the object itself). It also carves out the meshy-n1 case, listing exactly which inputs that model refuses.

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