Thrixel MCP Server
OfficialThrixel MCP Server allows AI agents to generate, refine, optimize, and manage game-ready 3D models via natural language. Key capabilities include:
Create Models: Generate editable multi-part meshes from text (
thrixel_create_model) or sculpt dense organic meshes from text/images (thrixel_sculpt_model).Edit & Refine: Modify models with natural language while preserving unchanged parts (
thrixel_edit_model), auto-fix rough models (thrixel_autofix_model), and upgrade blockouts to high-resolution PBR-textured meshes (thrixel_detail_model).Retexture & Optimize: Swap textures without altering geometry (
thrixel_retexture_model) and reduce triangle counts for game budgets (thrixel_reduce_triangles).Inspect & Manage: View part details, triangle counts, and thumbnails (
thrixel_inspect_model), list previously generated assets (thrixel_list_assets), and download in GLB, FBX, OBJ, STL, USDZ formats (thrixel_download).Account & Jobs: Check cube balance, concurrency, and running jobs (
thrixel_account_status), and poll async job progress (thrixel_job_status).
Additional features include visual feedback via rendered thumbnails, consistent style across assets by reusing reference images, and automatic waiting for job completion with save to project directory.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Thrixel MCP Servercreate a game-ready wooden shield"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Thrixel MCP Server
Model Context Protocol (MCP) server for the Thrixel 3D generation platform. Enables AI agents to create, edit, detail, and download game-ready 3D models through natural conversation — and to see each result before building on it.
Features
12 tools covering the Thrixel generation pipeline:
Category | Tools |
Create |
|
Refine |
|
Detail & Texture |
|
Optimize |
|
Inspect |
|
Jobs & Download |
|
Account |
|
Key Capabilities
Text to 3D:
create_modelreturns an editable, multi-part mesh — parts stay separate and named, so you can retexture or transform individual pieces later. The default for props, vehicles, buildings, weapons, furniture.Image to 3D:
sculpt_modelturns a photo or a description into a dense single organic mesh — creatures, characters, plants, food.Natural-language editing:
edit_modelchanges one thing and leaves the rest alone, optionally scoped to named parts. Iterating beats regenerating.Detail & retexture:
detail_modeladds high-resolution geometry and PBR texture;retexture_modelswaps materials without touching geometry — the cheap way to restyle a whole asset set.Free triangle reduction:
reduce_triangleshits a game budget for zero cubes and routes to the right backend operation automatically. Never re-run a detail pass just to get a lighter mesh.Budget-aware:
account_statusreports the cube balance, the enforced concurrency cap, and what is running, so a batch can be sized before it starts instead of failing partway through.Visual feedback loop: every finished job returns a rendered thumbnail as image content, so the agent can judge the result and retry rather than carrying a broken asset forward.
Waits for you: job tools block until the model is finished and write the GLB straight into your project. One tool call equals one finished asset — no agent-authored polling loop to silently give up halfway.
Style consistency: reuse one
reference_image_idacross many assets, or passstyle_reference_submission_id, to keep a set looking like a set. Reusing a reference image is not re-charged.
Related MCP server: Blender MCP Server
Prerequisites
uv — one binary, no Python setup needed.
macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | shWindows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iexA Thrixel API key — see below.
uvx fetches the server and a suitable Python into a throwaway environment on
first run. You do not need to clone anything, create a virtualenv, or install
Python yourself.
Get an API Key
Open thrixel.com/beta/#settings/api-keys (sign in first if prompted).
Click Create new secret key.
Copy the key. It starts with
sk-thrixel-and is shown only once — once the dialog closes you cannot read it again, only revoke it and make another.
Keep the key in the env block of your MCP client config (below). It never
enters the agent's conversation, so the agent cannot leak or misuse it.
Installation
Option 1 · Claude Code · Recommended
This form takes no JSON, so it works identically in every shell — use it on Windows and macOS / Linux alike:
claude mcp add thrixel --env THRIXEL_API_KEY=sk-thrixel-YOUR_API_KEY -- uvx thrixel-mcpOnly the outer quoting changes; the JSON itself is identical.
macOS / Linux, Git Bash, WSL
claude mcp add-json thrixel '{"command":"uvx","args":["thrixel-mcp"],"env":{"THRIXEL_API_KEY":"sk-thrixel-YOUR_API_KEY"}}'Windows PowerShell — PowerShell rewrites inner double quotes when passing
arguments to a native command, so they must be escaped. Without this you get
Invalid configuration: : Invalid input.
claude mcp add-json thrixel '{\"command\":\"uvx\",\"args\":[\"thrixel-mcp\"],\"env\":{\"THRIXEL_API_KEY\":\"sk-thrixel-YOUR_API_KEY\"}}'Windows CMD — wrap in double quotes and double every inner one.
claude mcp add-json thrixel "{""command"":""uvx"",""args"":[""thrixel-mcp""],""env"":{""THRIXEL_API_KEY"":""sk-thrixel-YOUR_API_KEY""}}"Verify with claude mcp list, then open a new session.
Option 2 · Install by Asking Your AI Agent
Already chatting with Cursor / Claude Code / Codex? Paste this prompt:
Install the Thrixel MCP server for me. Docs: https://github.com/thrixel/thrixel_mcp
Run it with: uvx thrixel-mcp
Use this env var: THRIXEL_API_KEY=sk-thrixel-YOUR_API_KEYOption 3 · Manual Install
Paste into .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
macOS / Linux
{
"mcpServers": {
"thrixel": {
"command": "uvx",
"args": ["thrixel-mcp"],
"env": { "THRIXEL_API_KEY": "sk-thrixel-YOUR_API_KEY" }
}
}
}Windows — GUI apps often do not inherit your shell PATH, so give the full
path to uvx.exe (find it with where.exe uvx):
{
"mcpServers": {
"thrixel": {
"command": "C:\\Users\\YOU\\.local\\bin\\uvx.exe",
"args": ["thrixel-mcp"],
"env": { "THRIXEL_API_KEY": "sk-thrixel-YOUR_API_KEY" }
}
}
}Add to claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"thrixel": {
"command": "uvx",
"args": ["thrixel-mcp"],
"env": { "THRIXEL_API_KEY": "sk-thrixel-YOUR_API_KEY" }
}
}
}Windows: replace
"uvx"with the absolute path touvx.exe— the desktop app does not inherit your shellPATH. See the Cursor block above.
Same shape as above — command: "uvx", args: ["thrixel-mcp"], and
THRIXEL_API_KEY in the env block.
pip install thrixel-mcpThen point the client at your interpreter:
{
"mcpServers": {
"thrixel": {
"command": "python",
"args": ["-m", "thrixel_mcp.server"],
"env": { "THRIXEL_API_KEY": "sk-thrixel-YOUR_API_KEY" }
}
}
}Use an absolute path to python if the client cannot find it on PATH.
uvx can run straight from the repository, no PyPI release needed:
# latest main, ahead of the newest release
uvx --from git+https://github.com/thrixel/thrixel_mcp thrixel-mcp
# a local checkout
uvx --from /path/to/thrixel_mcp thrixel-mcpSame shape in a client config — replace args with
["--from", "git+https://github.com/thrixel/thrixel_mcp", "thrixel-mcp"].
Activate After Install
Most clients auto-load the new server, but Cursor and VS Code require a manual toggle:
Client | What to do | Verify |
Claude Code | Nothing — auto-loads on next message |
|
Cursor | Restart → |
|
Claude Desktop | Quit & relaunch the app |
|
VS Code | Run command |
|
Codex | Nothing — auto-loads on next session |
|
Usage
Once connected, just ask:
Make me a low-poly wooden market stall for a game, under 5000 triangles.The agent will chain thrixel_create_model → thrixel_detail_model → thrixel_reduce_triangles, save the GLB into ./thrixel_assets/, and show you the render at each step.
Troubleshooting
Invalid configuration: : Invalid input(Windows) —claude mcp add-jsonreceived mangled JSON because PowerShell rewrote the inner double quotes. Either escape them (\") or skip JSON entirely and use the flag form:claude mcp add thrixel --env THRIXEL_API_KEY=... -- uvx thrixel-mcp. See Option 1.spawn uvx ENOENT— the client cannot finduvxonPATH. Use the absolute path:which uvxon macOS / Linux,where.exe uvxon Windows (usuallyC:\Users\YOU\.local\bin\uvx.exe). GUI clients are the usual culprits — they don't inherit your shellPATH.THRIXEL_API_KEY is not set— the key didn't reach the server. Make sure it sits inside an"env": {...}block in your MCP config, not inargs.Tool calls return "Thrixel rejected the API key" — the key is invalid or revoked. Generate a fresh one at thrixel.com/beta/#settings/api-keys → Create new secret key, then update the
envblock.First call is slow —
uvxis resolving and caching the package. Subsequent starts are fast."You have N jobs already running" — you hit the per-plan concurrency cap (free 2, pro 5, studio 10). Run large batches in waves;
thrixel_account_statusshows what's in flight."Out of cubes" — see Costs.
thrixel_account_statusshows the balance;thrixel_reduce_trianglesand rebakes are free.Jobs time out — GPU work can queue behind other jobs. Raise
THRIXEL_TIMEOUT_S, or submit withwait=falseand poll viathrixel_job_status.Client doesn't list
thrixel— make sure the config file is valid JSON (no trailing commas), then fully restart the client.Stuck on an old version —
uvxcaches builds. Force a refresh withuvx --refresh thrixel-mcp.
Costs
Cubes are Thrixel's usage credits. Three pricing shapes:
Operation | Cost |
| Flat 40 cubes each |
| Free |
| Metered — charged after the run on actual model usage |
Metered is not a synonym for cheap. It scales with how complex the request is:
observed runs land anywhere from single digits to over 100 cubes, so a complex
create_model can cost more than a flat GPU operation. Call
thrixel_account_status to see your balance before a big batch.
Every export format (GLB, FBX, OBJ, STL, USDZ) is free on every plan.
Configuration
Environment Variable | Description | Default |
| Required. Your Thrixel API key (starts with | — |
| API base URL |
|
| Where generated models are written. Writes outside it are refused |
|
| Ceiling in seconds for a single submit-and-wait cycle |
|
| Server log level, written to stderr |
|
Development
git clone https://github.com/thrixel/thrixel_mcp.git
cd thrixel_mcp
# uv
uv sync
# or conda
conda env create -f environment.yml
conda activate thrixel-mcpRun the server the way a client does, against a local backend:
THRIXEL_API_BASE=http://localhost:8000 THRIXEL_API_KEY=sk-thrixel-... \
uvx --from . thrixel-mcpTo see the raw protocol, point the MCP Inspector at it - -e flags go after
the target command:
npx -y @modelcontextprotocol/inspector --cli uvx thrixel-mcp \
--method tools/list -e THRIXEL_API_KEY=sk-thrixel-...Drop --cli for a web UI that shows each request/response pair. Claude Code's
claude --debug-file /tmp/mcp.log -p "..." logs the connection, negotiated
capabilities and dispatched tools, though not the JSON-RPC payloads.
This server holds no state and no business logic - it is a client of the public
Thrixel API. Anything it can do, a direct API caller can do too. It speaks
stdio, which is what every MCP client above launches it as.
License
Available Tools
12 toolsthrixel_account_statusCheck Thrixel accountA
Check the Thrixel API key, the cube balance, and how many jobs are running. Call this before submitting a large batch so you can size it to the budget and the concurrency cap, and after a 'jobs already running' or 'out of cubes' error.
Costs: detail / sculpt / texture are a flat 40 cubes each; reduce_triangles and rebake are free; create / edit / autofix are metered on actual model usage (tens of cubes, sometimes more). Concurrency is capped per plan; an admin account is unlimited.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses it is a read operation (checking status, balance, jobs) with no destructive actions mentioned, though it could explicitly state readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with two clear sentences for purpose and usage, plus cost info; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no annotations, and an output schema available, the description provides sufficient context for correct invocation and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description focuses on the tool's function rather than parameter details, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks the Thrixel API key, cube balance, and running jobs, distinguishing it from sibling tools that perform model operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to call before submitting a large batch for sizing and after specific errors, providing clear context for when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_autofix_modelAuto-fix a 3D modelA
Run an automatic refinement pass on a model: the system critiques its own output and repairs what it finds, with no instruction from you.
Use it when a generated model is roughly right but sloppy, and you cannot articulate what is wrong. If you CAN say what is wrong, thrixel_edit_model is more direct and usually better.
This is one of the slower operations - expect a few minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| wait | No | ||
| max_iters | No | ||
| project_id | No | ||
| submission_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes autonomous self-critique behavior and mentions slowness, but no info on side effects or permissions. With no annotations, description does reasonable job.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, focused sentences; no fluff; effectively front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing details on parameters, return values, error conditions, and model mutation behavior. 5 parameters with no explanation is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameter information in description despite 0% schema coverage. Key parameters like submission_id, dest, wait, max_iters, project_id are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it runs an automatic refinement pass on a model and distinguishes from sibling tool thrixel_edit_model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (model roughly right but can't articulate) and when not to use (use thrixel_edit_model if you can describe the issue).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_create_modelCreate a 3D modelA
Create a 3D model from a text description, optionally guided by reference images. This is the default way to make a game prop, vehicle, building, weapon or piece of furniture.
Output is a rough but EDITABLE multi-part mesh: parts are separate, named nodes, so you can later retexture or transform individual pieces. Prefer this over thrixel_sculpt_model whenever the subject is man-made or made of distinct components.
Waits for the job to finish, saves the GLB, and returns the file path plus a rendered thumbnail. Look at the thumbnail before building on the result.
Describe the object itself, not the request: 'a weathered wooden market stall with a striped awning' works, 'make me a stall' does not.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| wait | No | ||
| images | No | ||
| prompt | Yes | ||
| project_id | No | ||
| style_reference_submission_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully covers behavioral traits: output is rough but editable multi-part mesh with separate named nodes. Waits for job, saves GLB, returns file path and thumbnail. Advises checking thumbnail before building.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise paragraphs with front-loaded action, then output details, then usage tip. Every sentence adds unique value; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides enough context for primary use case: explains output format, workflow, and prompt style. Lacks detail on optional parameters like dest and wait, but defaults are reasonable. Overall sufficient for agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, requiring description to compensate. Only covers prompt (with usage advice) and images (reference images). Does not explain dest, wait, project_id, or style_reference_submission_id. Missing information on 4 of 6 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a 3D model from text description, optionally with reference images. Specifies it's for man-made objects like game props, vehicles, etc. Distinguishes from sibling thrixel_sculpt_model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (default for man-made, distinct components) and when to prefer thrixel_sculpt_model. Provides prompt advice: describe object itself, not the request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_detail_modelDetail and texture a 3D modelA
Turn a rough model into a high-resolution mesh with a PBR texture. Costs 40 cubes and runs on a GPU - expect a couple of minutes.
This is the step that makes an Architect blockout look finished. It regenerates geometry, so it is NOT the way to reduce triangle count: use thrixel_reduce_triangles for that, which is free and faster.
A reference image drives the look. Give a prompt describing the desired appearance and one is generated for you, or reuse an existing one with reference_image_id.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| seed | No | ||
| wait | No | ||
| prompt | No | ||
| project_id | No | ||
| texture_size | No | ||
| submission_id | Yes | ||
| preserve_parts | No | ||
| coherence_level | No | ||
| decimation_target | No | ||
| reference_image_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses that the tool regenerates geometry, costs cubes, runs on GPU, and uses a reference image via prompt or ID. It mentions time expectations and that it is not free. However, it does not clarify whether the operation is destructive or idempotent, or what happens to the original model, which could affect agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured paragraph that front-loads the main purpose, then provides cost, time, and usage guidance. It is efficient but could be improved by listing parameters or using bullet points for clarity. No wasted sentences, but information density is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what the tool returns (e.g., a new model ID or job ID?), how the 'wait' parameter works, or the meaning of most parameters. The agent lacks critical information to invoke the tool correctly without external help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains only two parameters (prompt and reference_image_id) out of eleven. Critical parameters like texture_size, coherence_level, decimation_target, preserve_parts, and dest are not mentioned, leaving the agent without guidance on their purpose or impact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool turns a rough model into a high-resolution mesh with PBR texture. It distinguishes itself from sibling 'thrixel_reduce_triangles' by explicitly stating it is not for reducing triangles, and mentions it is the step that finalizes a blockout. This provides specific verb+resource and differentiates from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool (after an Architect blockout) and when not to (for reducing triangle count). It names an alternative tool (thrixel_reduce_triangles) and provides key decision factors like cost (40 cubes) and runtime (a couple of minutes). This gives clear guidance on appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_downloadDownload a 3D modelA
Save a finished model to disk in a specific format.
Most tools already save a GLB automatically, so you only need this to get a different format, or to re-save a model from an earlier session. Every format is available on every plan at no extra cost. GLB is the right choice for web and Three.js and is served directly; FBX, OBJ, STL and USDZ are converted on demand, so the first request for one takes longer.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| format | No | glb | |
| submission_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses important behavioral trait: non-GLB formats are converted on demand, causing first request to take longer. It doesn't explicitly state non-destructiveness or auth needs, but the context of a download tool implies read-only. Slight deduction for missing explicit safety statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two clear sentences followed by a paragraph of context. No wasted words; the first sentence effectively summarizes the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description need not detail return values. It covers when to use, format details, and conversion behavior. It could briefly mention what the tool returns (e.g., file path or data stream), but overall it is sufficiently complete for a straightforward download tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description should compensate. While it explains the 'format' parameter by listing examples (GLB, FBX, OBJ, STL, USDZ), it does not explain the required 'submission_id' or the optional 'dest' parameter. The description adds only partial meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state the verb 'save' (or download) and the resource 'finished model', and the description distinguishes this from sibling tools like create_model or edit_model by noting that most tools auto-save GLB, so this tool is for alternative formats or re-downloading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'only need this to get a different format, or to re-save a model from an earlier session.' It implies when not to use (default GLB is auto-saved) and provides context on format availability and conversion behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_edit_modelEdit a 3D modelA
Change an existing model with a natural-language instruction, keeping everything you did not ask to change. Use this to iterate rather than regenerating from scratch - it is faster and preserves the parts of the asset that were already correct.
Works on Architect, Auto-fix and Edit results. Say what the result should BE ('the roof is corrugated metal, rusted at the edges'), not just what to do ('make it rusty').
To change only some parts, pass their exact node names in focus_on_node_names - get those from thrixel_inspect_model.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| wait | No | ||
| change | Yes | ||
| project_id | No | ||
| submission_id | Yes | ||
| focus_on_node_names | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it preserves unmentioned parts and works with natural language. No annotations exist, so description carries full burden. Missing details on side effects or costs, but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with three clear paragraphs, front-loaded with purpose. Could be slightly more concise but no unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so return values are unexplained. Does not clarify async behavior (wait parameter implies but not explicit). Comprehensive for a mid-complexity tool, but some gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description only explains 'change' (natural language) and 'focus_on_node_names' (get from inspect_model). Other 4 parameters (dest, wait, project_id, submission_id) are not elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool edits existing 3D models via natural-language instructions, emphasizing iteration and preservation. Distinguishes from siblings like thrixel_create_model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use (iterate vs. regenerate), applicable inputs (Architect, Auto-fix, Edit results), instruction phrasing tips, and guidance for partial edits via focus_on_node_names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_inspect_modelInspect a 3D modelA
Show what a model actually contains: its part names, per-part triangle counts, and a rendered thumbnail.
Call this before any operation that targets specific parts - thrixel_edit_model, thrixel_retexture_model and thrixel_reduce_triangles all take exact node names, and guessing them fails. Also use it to check a triangle budget before shipping an asset.
| Name | Required | Description | Default |
|---|---|---|---|
| submission_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the output (part names, triangle counts, thumbnail) which implies a read-only inspection. It does not mention side effects or permissions, but for a read tool this is sufficient. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. First sentence clearly states what the tool does and its output. Second sentence gives usage context. Perfectly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter and no output schema or annotations. The description covers output and usage context well, but fails to document the parameter (submission_id). This missing detail reduces completeness for an otherwise simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (submission_id) with 0% description coverage. The description does not explain what submission_id is or provide any format guidance. Given that the schema itself lacks a description, the tool description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: shows part names, per-part triangle counts, and a rendered thumbnail. It distinguishes itself by recommending use before other tools that target specific parts (thrixel_edit_model, thrixel_retexture_model, thrixel_reduce_triangles), clearly differentiating from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: 'Call this before any operation that targets specific parts' and lists the sibling tools that require exact node names. It also provides a second use case: checking triangle budget before shipping. This gives clear context and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_job_statusCheck a Thrixel jobA
Check whether a job has finished. Only needed for jobs submitted with wait=false - every other tool already waits and returns the finished asset.
| Name | Required | Description | Default |
|---|---|---|---|
| submission_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states purpose but does not disclose return behavior, error handling, or polling semantics. Adequate but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences, front-loaded with purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core purpose and usage context well; output schema exists to explain return values, so lack of return info is acceptable. Missing parameter description is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and description adds no meaning to the sole parameter 'submission_id'—does not explain what it is or where to get it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'check' and resource 'job status', and distinguishes from siblings by noting it's only for jobs with wait=false.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly specifies when to use (only for jobs with wait=false) and implies when not to use (other tools already wait and return finished asset).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_list_assetsList Thrixel modelsA
List models already in this Thrixel account, newest first. Use it to find and reuse an existing asset instead of generating a duplicate, or to recover a submission_id from an earlier session.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| search | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the ordering (newest first) and suggests the tool can recover submission_ids, but lacks details on pagination, result limits, or behavior on empty results, which are typical for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two efficient sentences that state the core function and key use cases without extra verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema (presumably documenting return values), the description is moderately complete. It covers the purpose and use cases but misses parameter explanations and behavioral details like pagination or result limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description does not explain the two parameters (limit and search). It mentions 'submission_id' but does not clarify that search filters by it or other metadata. A brief mention of how these parameters affect results is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists models in the account, newest first, and gives specific use cases like finding an existing asset or recovering a submission_id, distinguishing it from sibling tools like thrixel_create_model or thrixel_job_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: to find and reuse an existing asset or recover a submission_id, providing clear context. However, it does not explicitly state when not to use it or mention alternatives beyond avoiding duplicates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_reduce_trianglesReduce a model's triangle countA
Cut a model down to a triangle budget. FREE and fast - always use this to lighten an asset instead of re-running thrixel_detail_model at a lower target, which costs cubes, takes minutes, and gives you a different model rather than a lighter version of the same one.
Keeps the existing texture. Works on any completed model: detailed and sculpted models are rebuilt with cleaner topology, other models are decimated in place. The right endpoint is chosen for you.
Typical game budgets: hero prop 20k-50k, background prop 2k-10k, distant scenery under 1k.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| wait | No | ||
| project_id | No | ||
| submission_id | Yes | ||
| target_triangles | Yes | ||
| focus_on_node_names | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility. It discloses important behaviors: keeps existing texture, works on any completed model, handles detailed/sculpted and other models differently, and selects the right endpoint. It does not mention authentication needs or rate limits, but covers key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three short paragraphs, each serving a distinct purpose: purpose and differentiation, behavior, and example budgets. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no output schema, no annotations), the description covers the essential purpose, usage guidance, and behavioral details. It lacks explanation of return values and some parameters, but provides enough context for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the target triangle parameter by providing typical game budgets, adding context. However, it does not explain the required submission_id or optional parameters like dest, wait, project_id, focus_on_node_names. Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Cut a model down to a triangle budget.' It uses specific verbs and resource ('reduce', 'model'), and explicitly distinguishes from a sibling tool (thrixel_detail_model) by explaining why this should be preferred (free, fast, lighter version of the same model).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use this tool: always use it instead of re-running thrixel_detail_model for lightening. It includes typical triangle budgets for game assets. However, it does not explicitly state when not to use it or mention alternatives beyond the one sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_retexture_modelRetexture a 3D modelA
Generate fresh textures for a model without touching its geometry. Costs 40 cubes.
This is the cheap way to restyle: to make a whole set of assets cyberpunk, retexture each one against the same reference image rather than regenerating them. Pass the same reference_image_id every time to keep the set consistent - reusing an image is not re-charged.
Works on any completed model, not just detailed ones. To restyle only some parts, name them in apply_to_node_names.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| seed | No | ||
| wait | No | ||
| prompt | No | ||
| project_id | No | ||
| texture_size | No | ||
| submission_id | Yes | ||
| reference_image_id | No | ||
| apply_to_node_names | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses that the tool costs 40 cubes, does not modify geometry, works on any completed model, and allows selective restyling. However, it misses key behaviors: whether the operation is asynchronous (though wait parameter exists), whether it creates a new model or updates in-place, and what happens on failure. These gaps lower the score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: 4 sentences that quickly convey purpose, cost, use case, and parameter tips. It is front-loaded with the main action. However, the sentence about reusing an image could be more direct, and the 'cyberpunk' example is slightly verbose. Still, it wastes very little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, no annotations, no output schema), the description is far from complete. It does not describe return values, error scenarios, or the role of most parameters. An agent would lack critical information to invoke the tool safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 9 parameters with 0% schema description coverage, so the description must explain them. It only explains reference_image_id and apply_to_node_names, leaving 7 other parameters (submission_id, dest, seed, wait, prompt, project_id, texture_size) completely unexplained. This is insufficient for an agent to use the tool correctly without guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb+resource: 'Generate fresh textures for a model without touching its geometry.' It distinguishes itself from siblings like thrixel_create_model or thrixel_sculpt_model by explicitly focusing on retexturing and calling it the 'cheap way to restyle', contrasting with regeneration. This makes the purpose highly specific and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful guidance: it recommends using this tool for cheap restyling, suggests passing the same reference_image_id for consistency, notes that reusing an image is not recharged, mentions that it works on any completed model, and explains how to restyle only some parts using apply_to_node_names. However, it does not explicitly state when not to use this tool or compare it directly to other siblings like thrixel_edit_model, which would make it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
thrixel_sculpt_modelSculpt a 3D modelA
Create a dense, organic 3D model from a text description and/or a single reference image. Costs 40 cubes.
Use this for creatures, characters, plants, rocks, food, cloth - anything sculpted rather than assembled - and whenever you are starting from a photo. The output is ONE high-density textured mesh, not separate parts, so it is less editable than thrixel_create_model. For man-made objects with distinct components, use that instead.
Waits for the job to finish, saves the GLB, and returns the file path plus a rendered thumbnail.
| Name | Required | Description | Default |
|---|---|---|---|
| dest | No | ||
| wait | No | ||
| image | No | ||
| prompt | No | ||
| project_id | No | ||
| texture_size | No | ||
| decimation_target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses cost (40 cubes), wait behavior, output format (GLB file path and thumbnail), and notes lower editability. Lacks details on permission or reversibility but covers key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise paragraphs with front-loaded purpose. Minor redundancy (e.g., 'dense, organic' and 'sculpted rather than assembled') but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description provides a good overview, it omits explanations for 7 parameters with zero schema coverage. No output schema exists, so return value details are minimal. More guidance on optional parameters like texture_size would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. Description only loosely explains 'prompt' and 'image' via 'text description and/or a single reference image'. Other parameters (dest, wait, project_id, texture_size, decimation_target) are not mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a dense, organic 3D model from text and/or image. It differentiates from sibling thrixel_create_model by noting the output is a single high-density mesh rather than separate parts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends for creatures, characters, plants, rocks, food, cloth, and when starting from a photo. It also explicitly advises using thrixel_create_model for man-made objects with distinct components.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
12 tool updates
v0.1.2- First observed
thrixel_account_status - First observed
thrixel_autofix_model - First observed
thrixel_create_model - First observed
thrixel_detail_model - First observed
thrixel_download - First observed
thrixel_edit_model - First observed
thrixel_inspect_model - First observed
thrixel_job_status - First observed
thrixel_list_assets - First observed
thrixel_reduce_triangles - First observed
thrixel_retexture_model - First observed
thrixel_sculpt_model
TDQS
All 12 tools have clearly distinct purposes: creation (create vs sculpt), modification (detail vs retexture vs edit vs autofix), optimization (reduce), inspection (inspect, job_status, list_assets), download, and account status. No two tools do the same thing, and descriptions explicitly guide when to use which.
Every tool follows the consistent pattern 'thrixel_verb_noun' in snake_case (e.g., thrixel_create_model, thrixel_reduce_triangles). There are no deviations or mixed conventions.
12 tools is well-scoped for a 3D model generation and editing service. Each tool earns its place, covering all major operations without bloat or redundancy.
The tool set covers the full lifecycle: creation, detailing, retouching, optimization, inspection, and download. One minor gap is the lack of a delete tool, but assets can be managed elsewhere, and the core workflow is complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
On-brand creative studio for AI agents: images, video, audio, and 3D.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Turn text or an image into an animation-ready 3D model (GLB): generate, rig, animate, retexture.
Generate game assets with AI: sprites, 3D models, animations, sound effects, music, and voices.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables AI agents to create, manage, and download 3D models, textures, images, rigged characters, and animations through natural conversation.5,09041MIT- AlicenseNot gradedqualityDmaintenanceEnables AI-powered 3D content creation in Blender through natural language, including text-to-3D, image-to-3D, animation, rigging, rendering, and export.2MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to generate 3D models, textures, and images via the Meshy API using natural language, supporting text-to-3D, image-to-3D, remeshing, retexturing, rigging, and animation workflows.36601MIT

Context3D MCP Serverofficial
AlicenseBqualityCmaintenanceEnables AI-powered 3D model generation from text and images with PBR textures, supporting blockchain authentication and MCP integration.2719MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thrixel/thrixel_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server