Skip to main content
Glama
Sauerbraten MCP
by pastukhov

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
clientNoAbsolute path to the patched Sauerbraten client executable (--client). For source builds this should be passed explicitly; otherwise the server checks SAUER_MCP_CLIENT, then sauer_client on PATH, then the Debian installation path.
socketYesAbsolute path to the private Unix socket printed by the launcher (--socket). The server attaches to the running game through this socket.
SAUER_MCP_CLIENTNoEnvironment variable used as a fallback for the patched Sauerbraten client executable when --client is not provided.

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
editor_stateA

Read current map/session/revision, camera and editor capabilities. Read before mutations.

operation_statusA

Look up a mutation UUID; unknown means do not blindly repeat it.

map_newB

Create a native map (bottom half solid). Scale 10..16; refuses unsaved changes.

map_openB

Validate and open a catalog map or saved artifact; refuses an unsaved map.

map_catalogB

List trusted local maps. Use opaque map_id values with map_open.

region_readC

Read octree leaves in half-open world bounds, without subdividing geometry.

geometry_fillC

Replace an aligned selection with solid or empty cubes. count is in cells, grid in world units.

geometry_face_setB

Set four absolute face-axis depths (0..8 in grid/8 units) on each exact nonempty leaf. Face=selection.orient; order (R,C)=00,10,01,11; X uses Y/Z, Y uses Z/X, Z uses X/Y. Atomic and undoable; invalid/zero-volume shapes rejected.

geometry_vertex_setB

Set one logical corner (XYZ bits) to absolute local XYZ coordinates 0..8 in grid/8 units on each exact nonempty leaf. Neighbors/coincident corners are not moved implicitly. Atomic and undoable; invalid shapes rejected.

texture_catalogB

List texture references. Preserve map_epoch and vslot_generation when applying.

mapmodel_catalogB

List mapmodel registry references for entity_create/update.

texture_applyC

Set exactly one orientation (0..5) or all six faces of an aligned selection.

material_applyC

Apply a built-in volume/clip material to an aligned selection.

entity_listC

List entities and generation-bound references, optionally in world bounds.

entity_createA

Create light/playerstart/mapmodel at explicit coordinates with five attrs; no camera/drop fixups.

entity_updateC

Replace position/attrs of a referenced entity. Attached entities are unsupported.

entity_deleteC

Delete a referenced entity as one undoable step.

history_undoB

Undo the top shared manual/MCP history step; read state afterwards.

history_redoC

Redo the top shared manual/MCP history step; read state afterwards.

camera_setB

Set edit camera coordinates, yaw/pitch and FOV; returns a view_revision for capture.

view_captureC

Capture the requested map/view revision as PNG image content.

map_save_asC

Validate reload and publish an immutable map snapshot; returns revision_saved and conditional clean_ack.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 22 tools

Disambiguation4/5

Each tool targets a distinct resource+action: entities (create/update/delete/list), geometry (fill/face_set/vertex_set), textures (catalog/apply), maps (new/open/save_as/catalog), and history (undo/redo). Minor possible confusion between material_apply vs texture_apply and between the three *_catalog tools, but descriptions clearly scope them to different domains. The three geometry mutation tools are clearly separated by the type of shape manipulation.

Naming Consistency4/5

Dominant pattern is noun_verb (entity_create, geometry_fill, texture_apply, map_open), applied consistently across domains. A few outliers like editor_state, operation_status, and map_save_as are noun_noun or verb-phrase forms rather than the strict verb at end, but still readable and predictable.

Tool Count4/5

22 tools is above the ideal 3-15 band but justified by a rich 3D map editor spanning entities, geometry, textures, maps, camera, and history. Each domain contributes a small, purposeful cluster rather than redundant tools, so the count feels earned though slightly heavy.

Completeness4/5

Covers a strong lifecycle: map new/open/save/catalog, entity CRUD+list, geometry mutation, texture catalog/apply, material apply, camera, history undo/redo, operation_status, and region_read for readback. Minor gaps exist (no material catalog listing, no explicit entity get-by-ref beyond entity_list), but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues