Buildup
Click on "Deploy 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., "@Buildup build a Teardown-ready voxel pickup truck model"
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.
Buildup — an MCP server for Teardown voxel modding
Status: pre-alpha (0.6.0). The MCP server works for simple vehicles and props: a fresh Claude Code session built a drivable car with it. See docs/ROADMAP.md.
Buildup is an MCP server that lets an AI assistant (such as Claude
Code) build complete, Teardown-ready voxel models: multi-part .vox files using Teardown's material
palette, previews the AI can look at to correct its work, and a manifest (object names, sizes, anchor
points) plus a known-good XML skeleton, so the AI can then write the mod's XML and Lua files coherently.
Goal: anyone can describe a vehicle and get a working Teardown mod, without knowing voxel modelling or modding.
Using it with Claude Code
Requires uv and a clone of this repository. Buildup runs as a local MCP server over stdio:
uv run --project /path/to/teardown-mcp buildup-mcp --workspace /path/to/your/folder/workspaceThe easiest way to register it for Claude Code sessions opened in a folder of yours (outside this repository) is:
uv run python scripts/write_mcp_config.py /path/to/your/folderwhich writes /path/to/your/folder/.mcp.json. Start Claude Code in that folder, approve the
buildup server, and ask for a vehicle. Buildup writes projects to workspace/projects/ and
exported mods to workspace/mods/<Mod Name>/; copy a mod folder into
Documents\Teardown\mods\ to test it. Buildup never writes into the game's folders.
Tools: projects (create_project, list_projects, project_summary, undo), vehicle
templates to customize (start_from_template: sedan, SUV, pickup, van, truck), colors and parts
(define_color, add_part, remove_part), drawing (draw_profile for silhouettes, draw_box,
draw_cylinder, draw_ellipsoid, draw_wedge, cut_edges), operations (mirror_part,
hollow_part, move_part, add_wheels, set_anchor for seats, lights and locations,
set_handling for driving presets),
inspection (preview image with see-through glass, inspect,
slice_layers), export_model (.vox, manifest, XML prefab skeleton),
teardown_reference, and coherence tools that read the user's game files without changing
them: validate_mod (checks a mod folder), read_game_log (the game's errors for a mod) and
lookup_api (Teardown's Lua API from the local install).
Related MCP server: VoxelForge
Documentation
For contributors and AI agents: AGENTS.md, quality checks
Development
Requires uv.
uv sync
uv run python scripts/check.pyCredits
Created by SNX830. The code is written with Claude Code (Anthropic).
Legal
MIT licensed (see LICENSE). This project is not affiliated with or endorsed by Tuxedo Labs (Teardown) or ephtracy (MagicaVoxel). It does not contain or redistribute any game files.
Available Tools
22 toolsadd_partA
Add an empty part to the body (one named object in the .vox file).
Use one part for the main body; separate parts only for pieces that are separate objects in the XML. Draw into it with the draw_* tools; its size follows its voxels.
Inputs: name (required), project (required).
add_wheelsA
Add a left and a right wheel per axle, as separate parts with axle data for the XML.
Wheels are cylinders along X named wheel_fl, wheel_fr, wheel_bl, wheel_br (f = front, b = back, l = left -X, r = right +X; 1 axle: m, 3 axles: f, m, b; 4: f, m1, m2, b). Example for a body 16 voxels wide and 40 long: axles [{z: -13, steer: true}, {z: 13, drive: true}], diameter 8, width 2, inner_x 9 (wheels at X -11..-9 and 9..11). The body must not overlap the wheels: raise the body or carve wheel arches.
Inputs: axles (required), width (required), inner_x (required), project (required), +4 more.
create_projectA
Create an empty modelling project, saved in the workspace.
Names: 1-40 lower-case letters, digits or '', starting with a letter. Next: define_color, then add_part and the draw* tools.
Inputs: project (required), kind, description.
cut_edgesA
Bevel or slope edges of a block of the part (windshields, hoods, rounded roofs).
A voxel is cut when d1 / depths[0] + d2 / depths[1] < 1, d being the distance from its center to each face. Example: windshield slope on a cabin start [-8, 9, -6], end [8, 15, 10]: edges [['top', 'front']], depths [5, 6] (5 voxels down, 6 back).
Inputs: end (required), part (required), edges (required), start (required), +4 more.
define_colorA
Define a named color: a material plus a displayed color, used by the drawing tools.
In Teardown the material decides how a voxel breaks; the color is only its look. Typical: body paint 'weak metal' (official cars), windows 'glass', lights finish 'emissive'. Redefining an existing name changes its rgb/finish everywhere it is used (its material cannot change). Each material has 8 or 16 color slots. Example: name 'body_paint', material 'weak metal', rgb [180, 30, 30].
Inputs: rgb (required), name (required), project (required), material (required), +1 more.
draw_boxA
Add, paint or carve a rectangular block of cells start <= cell < end.
Example: a body 1.6 m wide, 0.6 m high and 4.0 m long, 0.3 m above the ground, front at -Z: start [-8, 3, -20], end [8, 9, 20] (16 x 6 x 40 voxels). Carve a cabin interior or wheel arches with mode 'carve'.
Inputs: end (required), part (required), start (required), project (required), +2 more.
draw_cylinderA
Add, paint or carve a cylinder (pipes, headlights, exhausts, round details).
Example: an exhaust pipe along Z, 2 voxels across, at x = 5.0, y = 4.0, from z = 20 to 24: axis 'z', center [5, 4], radius 1, span [20, 24]. Wheels: use add_wheels instead.
Inputs: axis (required), part (required), span (required), center (required), +4 more.
draw_ellipsoidA
Add, paint or carve an ellipsoid or a sphere (voxel centers inside the surface).
Example: a dome 1.2 m wide, 0.4 m high, 2 m long on a roof whose top is y = 14: center [0, 14, 0], radii [6, 4, 10] (the lower half lands inside the roof).
Inputs: part (required), radii (required), center (required), project (required), +2 more.
draw_wedgeA
Add, paint or carve a ramp: the block start..end cut diagonally across its extent.
The edge between faces[0] and faces[1] is removed as deep as the block goes. Example: a hood sloping down to the front, full height at the back: faces ['top', 'front'].
Inputs: end (required), part (required), faces (required), start (required), +3 more.
export_modelADestructive
Export the model as a mod folder: .vox file, manifest (JSON) and XML skeleton.
Writes workspace/mods// (the user copies it into the game's mods folder).
Reports the XML positions of every object, wheel and anchor, and warnings (missing anchors, overlapping parts, pieces that may fall apart). Then write info.txt and spawn.txt (teardown_reference 'mod_files').
Inputs: project (required), mod_name, skeleton.
hollow_partA
Empty the inside of a part, keeping a shell (fewer voxels, interiors).
The shell stays joined by faces on slopes and curves. Carve openings (doors, windows) afterwards if needed.
Inputs: part (required), project (required), thickness.
inspectARead-only
Describe the model in text: sizes, materials, colors and connectivity.
Gives the size in voxels and meters, the filled extent, voxel counts per material and palette index, and the face-connected pieces (voxels touching only by edges or corners may fall apart when damaged in game).
Inputs: project (required), part.
list_projectsARead-only
List the projects of the workspace.
Inputs: no named parameters.
mirror_partB
Make a body part left-right symmetric: copy one side, mirrored, over the other side.
With the default plane X = 0, a body spanning X -8..8 stays -8..8. Model details on the left side, then mirror. Voxels on the replaced side are discarded. Wheel parts cannot be mirrored (add_wheels already makes both sides).
Inputs: part (required), project (required), keep, plane_x.
move_partA
Move a part (a wheel's axle moves with it; anchors stay where they are).
Inputs: part (required), offset (required), project (required).
previewAIdempotent
Render the model as an image with several annotated views. Look at it after edits.
Orthographic views are true views from outside: the front view (camera at -Z) shows the model's right side (+X) on the image LEFT; each panel names the side every image edge shows. Rulers are model-frame meters. Magenta markers: wheel axles and anchors. The image is also saved as preview.png in the project folder.
Inputs: project (required), part, views.
project_summaryBRead-only
Show a project's colors, parts (extent in voxels and meters), wheels and anchors.
Inputs: project (required).
remove_partADestructive
Delete a part and all its voxels (undo brings it back).
Inputs: part (required), project (required).
set_anchorA
Set a named point of the model (driver position, exhaust, lights...).
Official vehicles use player (the driver is shown near it; official cars put it on the left, negative X), vital (meaning not documented) and exhaust (exhaust smoke comes out there, verified in game). Anchors stay put when parts move. Example: player [-4, 9, 2].
Inputs: name (required), project (required), position (required).
slice_layersARead-only
Print layers of the model as text grids, one symbol per voxel ('.' = empty).
Rows and columns are labelled with model-frame voxel coordinates; the legend gives the palette index and material of each symbol.
Inputs: axis (required), project (required), positions (required), part.
teardown_referenceBRead-only
Teardown facts needed to write the mod's XML and text files.
Each fact says whether it is verified in game or only seen in official files.
Inputs: topic (required).
undoADestructive
Revert the last edits of a project (any tool that changed it). Cannot be redone.
Inputs: project (required), steps.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 22 tools
Most tools target clearly distinct operations: draw_box/cylinder/ellipsoid/wedge are distinct primitives, and preview/inspect/slice_layers/project_summary produce different outputs. Mild overlap exists between draw_wedge and cut_edges (both cut edges) and between project_summary and inspect (both describe the model), but descriptions distinguish them adequately.
The set is mostly consistent verb_noun (create_project, add_part, remove_part, draw_box, move_part, mirror_part, hollow_part, cut_edges, add_wheels, set_anchor, export_model). A few deviate to noun or bare-verb form (project_summary, teardown_reference, preview, inspect, undo), which is a minor inconsistency but still readable.
22 tools is on the heavier side, but each earns its place: distinct shape primitives, part transformations, multiple inspection views, and export are all genuinely needed for a voxel modelling workflow. No obvious redundant or filler tools.
Strong lifecycle coverage: create/list projects, add/remove parts, draw/cut/mirror/hollow/move, wheels, anchors, undo, inspection and export. Minor gaps such as no delete/rename project and no part rotation are workable around given existing tools.
Maintenance
Related MCP Connectors
Create, edit, render, save, and export voxel models with interactive 3D previews.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Minecraft builds and skins made by your AI agent, live in your browser tab. Export .schem.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables creating, modifying, and managing MagicaVoxel .vox files through natural language, with tools for shape generation, patterns, color operations, and optional ML-powered suggestions.33MIT
- AlicenseCqualityDmaintenanceA voxel editor with MCP bridge enabling AI agents to create and edit 3D models, supporting .vox/.obj formats, layers, and a web editor.27MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control Blockbench for Minecraft 3D modeling, including project creation, cube placement, UV layout, and texture painting.GPL 3.0
- AlicenseAqualityBmaintenanceEnables AI agents to procedurally model and sculpt 3D voxel characters, weapons, and scenery, execute custom QuickJS generation scripts, convert/export models between voxel and 3D/image formats, and open results in the desktop GUI for inspection or editing.51MIT