Skip to main content
Glama

Refine a 3D model by describing a change

refine_model

Iterate on a model you already generated: just describe the change in words ("make it metallic", "bigger helmet", "add wings"). The studio re-generates a new version anchored to the previous one, carrying its form and materials forward. Pass the previous model's glb_url and, when you have it, the prompt that made it (parent_prompt) so the change builds on it. Each refinement is recorded as a new version in a lineage you can revert to or branch from, and the returned lineage drives a version strip in the viewer. Renders the new version inline in the interactive 3D viewer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
glb_urlYeshttp(s) URL of the model to refine (e.g. the glbUrl a previous generation returned).
instructionYesThe change to make, in plain language: "make it metallic", "bigger helmet", "add a cape".
parent_indexNoOptional: branch off an earlier version in parent_lineage (its index) instead of the latest.
parent_promptNoOptional: the prompt that produced the model being refined, so the change builds on it instead of starting over.
parent_lineageNoOptional: the lineage array from a previous refine_model result, to extend the same version history.
reference_image_urlNoOptional http(s) image of the current model to anchor the re-generation (image→3D). Omit for text-guided refinement.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / parent_index / description
      Previous value: -"Optional — branch off an earlier version in parent_lineage (its index) instead of the latest."New value: +"Optional: branch off an earlier version in parent_lineage (its index) instead of the latest."
    • changedInput schema / properties / parent_lineage / description
      Previous value: -"Optional — the lineage array from a previous refine_model result, to extend the same version history."New value: +"Optional: the lineage array from a previous refine_model result, to extend the same version history."
    • changedInput schema / properties / parent_prompt / description
      Previous value: -"Optional — the prompt that produced the model being refined, so the change builds on it instead of starting over."New value: +"Optional: the prompt that produced the model being refined, so the change builds on it instead of starting over."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say readOnly=false, idempotent=false, destructive=false; the description adds real behavioral context: a new anchored version is generated, form and materials are carried forward, each refinement becomes a version in a revertable/branchable lineage, and the result renders inline in the 3D viewer. This goes well beyond what annotations provide.

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?

Five genuinely useful sentences, front-loaded with the core action and examples, no filler. The lineage/versioning sentence and viewer-rendering sentence add distinct behavioral value rather than redundancy.

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?

For a tool with no output schema, the description explains input requirements, mutation/versioning behavior, lineage output, and viewer rendering. It doesn't enumerate exact return fields, but the versioning and rendering behavior compensate, and all optional parameters are fully specified in the schema.

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?

With 100% schema coverage, the schema already documents all six parameters. The description adds workflow meaning by instructing to pass the previous model's glb_url and parent_prompt so the change builds on it, and offers plain-language examples for instruction; optional parameters are left to the schema, which already covers them well.

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 ('Iterate on a model') and resource (a previously generated 3D model), with concrete change examples ('make it metallic', 'bigger helmet'). It clearly differentiates from the forge/mesh generation siblings by emphasizing refinement of an existing model rather than creation.

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 explicit context: use it when you already generated a model and want to describe a change in words, and points to the two key parameters needed (glb_url, parent_prompt). It doesn't explicitly name sibling tools as alternatives or state when not to use, so it stops short of full exclusion guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.