Skip to main content
Glama

Refine 3D Model (Popcraft)

popcraft_postprocess_3d

Run a Tripo3D post-process on an existing Popcraft 3D model: "convert_model" (export FBX/OBJ/STL/USDZ/GLTF/3MF, optional quad + face_limit + texture_size — the cheap way to get a Blender-friendly FBX (fbx_preset "blender") or a decimated mesh; the source is already a GLB, so use FBX/GLTF rather than GLB as the target), "highpoly_to_lowpoly" (retopologize to a low-poly game/rig-ready mesh, params quad/face_limit/bake), "refine_model" (upgrade a draft to higher detail), "texture_model" (re-texture with texture_prompt / style_image_url, texture_quality, pbr), "stylize_model" (style "lego" | "voxel" | "voronoi", block_size 32–128), "mesh_segmentation" (split into named parts), "mesh_completion" (fill holes; optional part_names). source is the job_id returned by popcraft_generate_3d / popcraft_job_display, or a 3D asset id from the /model-3d workspace — only Tripo-generated models can be post-processed. params is the per-operation object described above (omit for defaults). Set get_cost:true first to preflight the credit cost WITHOUT submitting — refine/stylize/completion/lowpoly are variable-cost and reconcile to Tripo's actual usage on completion. On success an interactive result card is shown and refreshes itself — do NOT poll; call popcraft_job_display at most once if no card is visible. The output is a new 3D asset (lineage-linked to the source) whose URL you can download or import into Blender. Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsNoPer-op params, e.g. {"format":"FBX","fbx_preset":"blender","quad":true,"face_limit":20000} for convert_model; {"quad":true,"face_limit":15000,"bake":true} for highpoly_to_lowpoly; {"texture_prompt":"...","texture_quality":"detailed","pbr":true} for texture_model; {"style":"voxel","block_size":80} for stylize_model
sourceYesSource 3D model: a job_id from popcraft_generate_3d / popcraft_job_display, or a model3d asset id
get_costNotrue = return the exact credit cost WITHOUT submitting
operationYesPost-process op: convert_model | highpoly_to_lowpoly | refine_model | texture_model | stylize_model | mesh_segmentation | mesh_completion
project_idNoFile the result into this Popcraft project (id from popcraft_projects). Omit to file it next to the source model (its project).
project_nameNoFile the result into the project with this title, creating it if needed. Ignored when project_id is set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only mark it non-readonly/non-idempotent; the description adds that refine/stylize/completion/lowpoly are variable-cost and reconcile to Tripo's usage, that the result card self-refreshes, that output is a new lineage-linked asset, and a communication constraint about never quoting generation time. Far beyond the annotation set.

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?

A dense single paragraph that is front-loaded with purpose and operation meanings, followed by source, params, cost, polling, and output notes. Nearly every clause earns its place, though it is long enough that some operation detail could be trimmed.

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?

With no output schema, the description still explains the return (an interactive result card plus a downloadable new 3D asset), cost semantics, filing behavior, and polling behavior. An agent has everything needed to invoke it 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 coverage is 100% so the baseline is 3, but the description adds real meaning: concrete per-op param examples (fbx_preset 'blender', style/block_size), the fact that params can be omitted for defaults, and precise source/project_id/project_name filing behavior.

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+resource ('Run a Tripo3D post-process on an existing Popcraft 3D model') and enumerates all seven operations with what each does. It clearly distinguishes itself from siblings like popcraft_generate_3d (which produces the source) and popcraft_upscale_image/video.

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?

Explicit when-to-use per operation (e.g., convert_model is 'the cheap way to get a Blender-friendly FBX'), an explicit when-NOT constraint ('only Tripo-generated models can be post-processed'), a preflight path (get_cost:true), and a polling rule ('do NOT poll; call popcraft_job_display at most once').

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.