MCP Server
The agent-native way into Thrixel, for Claude Code, Codex, and Gemini.
Thrixel is built agent-first. thrixel-mcp gives coding agents a native way to
create, edit, and work with 3D assets, in Claude Code, Codex, Gemini, and any
other MCP-compatible client.
It exposes Thrixel as tools an agent can discover and use as part of a larger build, and it runs on the same REST API documented here.
What the server adds is the lifecycle. It holds the operation open while the work runs, turns HTTP errors into a next action, writes the GLB to disk, and hands back a thumbnail. An agent can generate an asset, see what it made, modify it, bring it into a scene, and keep building, all in one pass.
Install
Nothing to clone or build. uvx fetches the
published package on each launch, so @latest keeps itself current.
That prints a link and a short code. Open it, confirm the code matches, approve.
The key lands in ~/.thrixel/credentials.json. Sign-up happens on that page too
if you do not have an account yet, so this works from a cold start.
Then register the server with your agent:
Use --scope user
claude mcp add defaults to --scope local, which registers the server for
the current directory only. Every new project then starts with no Thrixel
tools. User scope registers it once for the whole machine.
An MCP client loads its servers once, at session start. Register before you open the agent, or restart the session afterwards.
Hosted connector
Claude (web, desktop and mobile), ChatGPT and any client that accepts a remote MCP server can connect without installing anything. Add a custom connector with this URL and sign in when asked:
The hosted connector has the same tools as the local server, with three differences: it returns download links instead of writing files, it accepts images as URLs or data URIs rather than local paths, and it leaves out the image-generation and billing tools.
Tools
The agent decides which tool to call, so you normally just describe what you
want. Each tool is intent-level rather than endpoint-level: asked to cut a
triangle count, thrixel_reduce_triangles reads the model and routes it to
remesh or decimate itself.
Costs are in Cubes. Metered means charged after the run from actual usage, typically tens of Cubes. Given no image, a job first generates its reference image: about 3 Cubes more for a sculpt, and about 7 for a detail or retexture, which composes it from the existing model on a higher-quality image model.
Free plan: 4 runs a month of each GPU operation
On the Free plan, Sculpt, Detail, Retexture and Rig each run up to
4 times per calendar month (UTC), counted per account across all its keys and
apps. A failed or cancelled run does not count. Past the limit that operation is
refused until the 1st, even with Cubes left; Create, Edit and every free operation
keep working. Paid plans have no monthly limit. thrixel_account_status shows
what is left.
| Tool | What it does | Cost |
|---|---|---|
thrixel_create_model | An editable model with separate, named parts, from text and optional reference images | Metered |
thrixel_sculpt_model | A textured, single-piece organic model from text or one image | 8; Free plan: 4 a month |
thrixel_generate_image | 2D concept art, reusable as the reference for later 3D jobs (local server only) | About 3 per image |
Waiting uses SSE with polling as a fallback, so a long detail pass reports progress instead of going silent.
Calling a tool yourself
Tools are written for agents, but nothing stops you calling one directly. The
same package installs a thrixel command:
thrixel tools <name> prints the full description and every parameter, read
from the installed server, so it is always the current version.
Example prompts
- "Start a project called Harbor Defense, then make a wooden watchtower and a rowing boat with oars that can move."
- "Sculpt a mossy stone frog statue and reduce it to 5,000 triangles."
- "Detail the cart, then give me an FBX for Unity."
- "Inspect the windmill and group everything except the sails."
- "Build a small three.js game where the boat collects crates, and publish it."
- "How many Cubes do I have left, and what is running?"
FAQ
Using the API directly
The MCP server is the agent-native path, not a gate. Every capability is a plain HTTP call: see Getting Started for authentication and a quickstart, and Job Status for the polling and streaming contracts the server implements internally.