Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MILLUMIN_HOSTNoWhere Millumin runs127.0.0.1
MILLUMIN_PORTNoMillumin's OSC listener port5678
MILLUMIN_FEEDBACK_PORTNoPort to receive feedback on; unset turns feedback off
MILLUMIN_ALLOW_DESTRUCTIVENoSet to 1 to allow /action/quit and /action/saveProject, which are refused otherwise

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
millumin_actionB

Run a Millumin action, e.g. launchColumn [index or name], stopColumn, launchNextColumn, playOrPause, goToTime [seconds], selectLayer [index or name], displayTestCard, hideTestCard.

millumin_setB

Set a property on a target. Target defaults to selectedLayer; other forms are layer:, light:, index:, or an element name. Property examples: opacity, position/x, position/xy, rotation, scale, intensity, media/speed, media/normalizedTime.

millumin_masterB

Set a master level: video, audio, or dmx. Value is normalized 0..1.

millumin_send_rawA

Send an arbitrary OSC message to Millumin. Use only when no typed tool fits. Destructive addresses (/action/quit, /action/saveProject) are refused unless the server was started with MILLUMIN_ALLOW_DESTRUCTIVE=1.

millumin_pingB

Send /ping and return the layer and board state Millumin reports back. Requires MILLUMIN_FEEDBACK_PORT and Millumin's OSC "API feedback" enabled and pointed at that port.

millumin_feedbackA

Return recent feedback messages from Millumin (addresses start with /millumin), optionally filtered by a case-insensitive substring such as "launchedColumn" or "layer:Intro".

millumin_queryA

Ask Millumin for the current value of one property by sending address + "/?", then return any feedback that came back. Example address: /layer:Intro/opacity.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation4/5

The typed tools separate command execution (millumin_action), property setting (millumin_set), and master-level setting (millumin_master) clearly. millumin_query, millumin_feedback, and millumin_ping all expose feedback/state but with distinguishable purposes, while millumin_send_raw overlaps everything as a fallback, keeping this from a perfect score.

Naming Consistency3/5

All names share the millumin_ prefix and snake_case, which aids readability. However, suffixes mix nouns and verbs (action, master, feedback, ping, query vs set, send_raw) rather than following a single predictable verb_noun convention.

Tool Count5/5

Seven tools is well within the appropriate range for an OSC control bridge. Each tool has a distinct role: typed control, master control, raw fallback, and introspection.

Completeness4/5

The surface covers core control and introspection: actions, property setting, master levels, targeted queries, recent feedback, ping state, and raw OSC as an escape hatch. Typed discovery/listing of layers, columns, media, or available properties is not provided, though raw OSC can fill those gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues