Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UTMT_CLI_PATHNoFull path to the UndertaleModCli executable. Optional if the executable is already in PATH or if the path is provided as a tool parameter.

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
utmt-infoA

Get overview info for a GameMaker data file. Returns JSON with project name, GM version, isYYC flag, and resource counts for all entity types.

utmt-list-entitiesA

List entities of a given type from a GameMaker data file. Returns JSON array with index, name, and brief properties. Supported types: sprites, sounds, scripts, code, rooms, gameobjects, fonts, backgrounds, paths, shaders, strings, timelines, embeddedtextures, embeddedaudio, extensions, sequences, particlesystems.

utmt-get-entityA

Get detailed info for a single entity from a GameMaker data file. Returns JSON with all properties. Supported types: sprite, sound, script, code, room, gameobject, font, string, generalinfo. For 'string' type, use the index as the name parameter. For 'generalinfo', name parameter is ignored.

utmt-decompile-codeA

Decompile a code entry from a GameMaker data file back to GML source. Returns the decompiled GML text. Not available for YYC-compiled games.

utmt-export-entityA

Export a single entity from a GameMaker data file to disk. Supported types: sprite, sound, code, embeddedtexture. Sprites export as PNG frames, sounds as ogg/wav, code as decompiled .gml, textures as PNG.

utmt-searchA

Search for entities by name pattern across a GameMaker data file. Case-insensitive substring match. Returns JSON array with type, index, and name of matches.

utmt-get-room-assetsA

Get all assets used in a room: sprites (with dimensions and which objects use them), objects (with position and sprite), code entries (from events), and layer summary. One call replaces multiple round-trips.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct purpose: info provides overview, list-entities enumerates by type, get-entity retrieves a single entity, search finds by name, decompile-code produces GML source, export-entity writes to disk, and get-room-assets aggregates room data. There is no meaningful overlap; even get-entity and decompile-code are clearly separated by metadata vs. source code.

Naming Consistency5/5

All tools share the 'utmt-' prefix, and most follow a consistent verb-noun pattern (list-entities, get-entity, export-entity). The exceptions 'utmt-info' and 'utmt-search' are still concise and natural, and the overall convention is predictable and uniform.

Tool Count5/5

With 7 tools, the server is well-scoped. Each tool covers a distinct operation needed for GameMaker data file analysis—from high-level info to detailed lookup, decompilation, export, and room-level asset aggregation—without redundancy.

Completeness4/5

The core workflow of listing, searching, inspecting, decompiling, and exporting is well covered. However, some entity types that can be listed (e.g., backgrounds, paths, shaders) cannot be retrieved in detail or exported, leaving minor gaps for those assets.

Maintenance

ActivitySlowing
ResponsivenessNo issues