trident-mcp
trident-mcp is an MCP server fronting Tripo 3D's v3 API, letting an agent generate, transform, rig, animate, and export 3D models and images while managing uploaded files, tasks, and account info.
Generate 3D models: from text (
text_to_3d), a single image (image_to_3d), or 2–4 ordered views (multiview_to_3d), with options for PBR, texture, quad topology, face limits, seeds, quality, auto-size, and compressed geometry.Generate, edit, and splat images:
text_to_image,image_to_image,image_to_multiview,edit_multiview, andimage_to_splat(Gaussian splats).Process existing meshes:
texture_model,retopologize,refine_model,stylize(lego/voxel/voronoi/minecraft),segment_mesh,complete_mesh, andconvert_format(GLTF, FBX, OBJ, STL, USDZ, 3MF).Rig and animate:
rig_check,rig_model(tripo/mixamo skeletons, various rig types), andretarget_animationfor preset animations.Move files in and out:
upload_file,create_file_upload,import_model, anddownload_modelto save completed outputs locally.Track async work:
task_status,get_task, andget_tasks(batch up to 100) for status, progress, outputs, and credit usage.Inspect server/account state:
get_balance,get_usage,list_models, andget_config.
Provides tools for 3D model generation and post-processing, with companion skills designed to integrate with Blender for automated 3D modeling workflows.
Supports automated testing and release processes through GitHub Actions, including unit checks on pushes/pull requests and E2E smoke tests on main branches and version tags.
trident-mcp
An unofficial MCP server for the Tripo 3D API that covers every documented, deployed v3 workflow. A few endpoints are deliberately left out; they are listed in docs/MCP_TOOLS.md. Agents can:
generate meshes from text, one image or several views;
make reference images and multiview sets;
texture, retopologize, UV-unwrap, segment, rig, animate and convert meshes;
produce Gaussian splats.
The outputs land as files on disk. It ships as one Go binary over stdio, plus a Claude Code plugin with a workflow skill.

Quick start
Claude Code. Put the binary on your PATH, then install the plugin:
go install github.com/mordor-forge/trident-mcp/cmd/trident-mcp@latest # or grab a release archive/plugin marketplace add mordor-forge/claude-plugins
/plugin install trident@mordor-forgeThe plugin asks for your Tripo key and output folder, and adds the tripo-3d skill. Then ask for what you want, e.g. "make a game-ready low-poly treasure chest and export it as FBX".
Any MCP client:
{
"mcpServers": {
"trident": {
"command": "trident-mcp",
"env": { "TRIPO_API_KEY": "tsk_...", "MODEL_OUTPUT_DIR": "/abs/path/generated_models" }
}
}
}Related MCP server: gemini-media-mcp
How it works
A task-creating tool (
text_to_model,rig_model,convert_model, …) validates its arguments locally, uploads any local files, and returns atask_id.wait_for_taskwaits with progress notifications, then saves the outputs to<output dir>/<task_id>/. For example:model.glb,rendered_image.webp,generated_image.png,front_view.png.Pass a
task_idas the next tool'sinputto chain steps: image → mesh → rig → animation → FBX.
Arguments use Tripo's own field names, so Tripo's docs apply to them directly. A few convenience fields differ from Tripo's wire format, such as multiview inputs given as a {front, left, back, right} map. See docs/MCP_TOOLS.md for all 28 tools.
Configuration
Variable | Default | |
| required | |
|
| Created if missing |
|
| China-region keys: |
Documentation
Need | Read |
Every tool, argument and behaviour | |
Architecture and the | |
Domain vocabulary | |
Contributing, change recipes | AGENTS.md, docs/DEVELOPMENT.md, docs/patterns/common-changes.md |
Running, live tests, failure handling | |
Decisions | |
Security |
Tripo terms and trademarks
trident-mcp is an independent project. It is not affiliated with or endorsed by Tripo, VAST or Holymolly Ltd, and "Tripo" is a trademark of its owner. Your use of the Tripo API is governed by Tripo's terms. Under them:
Use your own API key, and keep it private.
Tripo's written authorization is required before offering a shared or hosted deployment to other people.
Ownership of generated models depends on your Tripo plan.
Credit prices quoted in the docs and skill are dated summaries; Tripo's pricing page is authoritative.
License
Apache-2.0. See LICENSE. The license covers this repository's code, not Tripo's service or the models you generate.
Available Tools
28 toolscomplete_meshADestructive
Fill in the parts of a segment_mesh task, optionally only the named ones. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), model, part_names, completion_mode. Returns: model, task_id, produces, warnings, +1 more
convert_modelADestructive
Convert a mesh to GLTF, FBX, OBJ, STL, USDZ or 3MF, optionally changing topology, scale, pivot, orientation or textures. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), format (required), bake, quad, +15 more. Returns: model, task_id, produces, warnings, +1 more
download_taskAIdempotent
Save the outputs of a successful Tripo task to /<task_id>/., overwriting earlier downloads of it. Download formats are what the task produced; use convert_model for other formats.
Inputs: task_id (required), outputs. Returns: task, artifacts
edit_multiviewADestructive
Correct individual views of an image_to_multiview task with per-view prompts. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), prompts (required). Returns: model, task_id, produces, warnings, +1 more
get_balanceARead-only
Get the Tripo account's available and frozen credits (1 credit = US$0.01). Frozen credits are held by running tasks.
Returns: frozen, balance
get_configARead-only
Show the Tripo API host, output directory and server version.
Returns: version, base_url, output_dir, catalog_checked_on
get_taskARead-only
Get a Tripo task's status, progress, outputs and error. Output URLs are signed and expire; use download_task to save them.
Inputs: task_id (required). Returns: type, output, status, task_id, +8 more
get_tasksARead-only
Get up to 100 Tripo tasks at once. Unknown IDs are listed under missed.
Inputs: task_ids (required). Returns: tasks, missed
get_usageARead-only
List recent Tripo tasks with the credits each one consumed.
Inputs: limit, offset. Returns: records
image_to_imageADestructive
Edit or derive an image from one or more reference images. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: size, input, model, inputs, +6 more. Returns: model, task_id, produces, warnings, +1 more
image_to_modelADestructive
Generate a 3D mesh from one reference image (a local path, URL, file token, or the task ID of a text_to_image / image_to_image task). Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), pbr, quad, model, +17 more. Returns: model, task_id, produces, warnings, +1 more
image_to_multiviewADestructive
Generate front, left, back and right views from one reference image. Pass the task ID to multiview_to_model or edit_multiview. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required). Returns: model, task_id, produces, warnings, +1 more
image_to_splatADestructive
Generate a Gaussian splat (.splat) from one image. About 30 credits and 4 minutes. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), model_seed. Returns: model, task_id, produces, warnings, +1 more
import_modelADestructive
Import an existing mesh (GLB, GLTF, FBX, OBJ, STL; up to 150 MB) so other operations can use it by task ID. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required). Returns: model, task_id, produces, warnings, +1 more
list_modelsARead-only
List the model versions this server knows, per tool, with aliases, defaults and the options each version rejects. Static; unknown versions are still sent to Tripo with a warning.
Inputs: operation. Returns: models, checked_on
multiview_to_modelADestructive
Generate a 3D mesh from 2-4 views of one object (front required), or from a successful image_to_multiview / edit_multiview task. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: pbr, quad, input, model, +17 more. Returns: model, task_id, produces, warnings, +1 more
retarget_animationADestructive
Apply up to 5 preset animations to a rig_model task. 10 credits per animation. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), animation, animations, out_format, +2 more. Returns: model, task_id, produces, warnings, +1 more
retopologizeADestructive
Rebuild a mesh as clean low-poly triangles or quads (smart low-poly retopology). Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), bake, quad, model, +3 more. Returns: model, task_id, produces, warnings, +1 more
rig_checkADestructive
Check whether a mesh can be rigged and detect its skeleton type. The verdict arrives as the task's riggable and rig_type outputs. Creates a Tripo task (free) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required). Returns: model, task_id, produces, warnings, +1 more
rig_modelADestructive
Auto-rig a mesh for animation. 25 credits. Run rig_check first. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), spec, model, rig_type, +1 more. Returns: model, task_id, produces, warnings, +1 more
segment_meshADestructive
Split a mesh into parts. Feed the task ID to complete_mesh. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), model, ref_image, split_by_connectivity, +1 more. Returns: model, task_id, produces, warnings, +1 more
smart_segmentADestructive
Segment an object guided by a text hint, from an image (85 credits) or a GLB mesh (55 credits). Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), seg_type (required), hint, transform, +1 more. Returns: model, task_id, produces, warnings, +1 more
smart_uvADestructive
Unwrap UVs for a mesh of up to about 80k triangles; also returns a UV layout preview. 20 credits. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), bake, model, compress, +1 more. Returns: model, task_id, produces, warnings, +1 more
text_to_imageADestructive
Generate a reference image from a text prompt. Its task ID can be passed directly as image_to_model input. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: prompt (required), size, model, quality, +5 more. Returns: model, task_id, produces, warnings, +1 more
text_to_modelADestructive
Generate a 3D mesh from a text prompt. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: prompt (required), pbr, quad, model, +16 more. Returns: model, task_id, produces, warnings, +1 more
texture_modelADestructive
Generate new textures for a mesh from a text, image, or four-view prompt. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.
Inputs: input (required), pbr, bake, model, +7 more. Returns: model, task_id, produces, warnings, +1 more
upload_fileADestructive
Upload a local image or model to Tripo and get a reusable file token. Rarely needed: every input field already accepts local paths.
Inputs: path (required). Returns: path, bytes, file_token
wait_for_taskAIdempotent
Wait for a Tripo task to finish, sending progress notifications, then save its outputs (meshes, images, views, splats) to the output directory. Returns with done=false if timeout_seconds passes first; call again to keep waiting.
Inputs: task_id (required), download, timeout_seconds. Returns: done, task, artifacts
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 28 tools
Each generation tool is keyed to a distinct input/output modality (text_to_model, image_to_model, multiview_to_model, image_to_splat, text_to_image, etc.), so selection is usually unambiguous. The only mild overlaps are segment_mesh vs smart_segment, and get_task vs get_tasks vs get_usage, which all retrieve task/credit info but are differentiated in their descriptions.
All names use snake_case and are consistently readable, with a recurring verb_noun or source_to_target structure. Minor deviation in that many tools use a 'source_to_target' convention (text_to_model) rather than a leading verb (generate_model), but this is coherent across the set.
At 28 tools the set is on the heavy side, sitting in the borderline-heavy band. Most tools correspond to genuine distinct pipeline operations (generation, texturing, rigging, UV, segmentation, conversion, credits), so each earns its place, but the volume is high enough to feel sprawling.
The surface covers the full 3D asset lifecycle: image/mesh generation, multiview, texturing, retopology, UV unwrap, segmentation, rigging, animation retargeting, conversion, download and credit checks. The notable gap is task management — there is no cancel/delete/cleanup operation for failed or unwanted tasks.
Maintenance
Related MCP Connectors
Free 3D conversion (FBX, GLB, OBJ, STL, PLY, DAE, USDZ, 3MF) as a remote MCP server. No account.
MCP server for Qwen Image 3 AI image generation
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server for 3D model processing that provides automated retopology, decimation, and quality analysis for OBJ and GLB files. It integrates Instant Meshes, pymeshlab, and Blender 3.6 to support smart simplification, texture preservation, and structured model archiving.2-
- AlicenseAqualityBmaintenanceUnified MCP server for Gemini media generation --Nano Banana (images), Veo 3.1 (video), TTS, and Lyria 3 (music). Single Go binary, 12 tools, supports Gemini API key and Vertex AI.1411Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for generating print-ready 3D models from text descriptions via a multi-agent pipeline, enabling AI assistants to create and optimize STL files.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Meshwright, enabling agents to create 3D models from text prompts via a LangGraph pipeline. Supports configurable image providers, background removal, and TRELLIS reconstruction backends.MIT