Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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.

list_projectsA

List the projects of the workspace.

project_summaryB

Show a project's colors, parts (extent in voxels and meters), wheels and anchors.

undoA

Revert the last edits of a project (any tool that changed it). Cannot be redone.

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].

add_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.

remove_partA

Delete a part and all its voxels (undo brings it back).

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'.

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.

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).

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'].

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).

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).

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.

move_partA

Move a part (a wheel's axle moves with it; anchors stay where they are).

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.

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].

previewA

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.

inspectA

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).

slice_layersA

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.

export_modelA

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').

teardown_referenceB

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 22 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues