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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_showsA

List all configured xLights show folders.

Returns the available show folders (e.g., Christmas, Halloween) and indicates which one is currently active.

add_show_folderA

Add an xLights show folder by path.

Use this to confirm a detected show folder or provide a custom path. The folder must contain an xlights_rgbeffects.xml file.

Args: path: Full filesystem path to the xLights show folder name: Optional display name for the show (derived from folder name if omitted)

switch_showC

Switch the active xLights show folder.

Args: show_name: Name of the show to activate (e.g., "christmas", "halloween")

list_modelsB

List all light models in the active xLights show.

Returns model names, types, controller assignments, and channel info.

list_controllersA

List all controllers configured in the active xLights show.

Returns controller names, IPs, protocols, and channel counts.

list_sequencesA

List all sequences (.xsq files) in the active show folder.

inspect_sequenceA

Inspect an existing xLights sequence file.

Shows the song info, duration, models used, and effect summary.

Args: sequence_name: Name of the sequence (without .xsq extension)

list_effectsA

List all available xLights effects with descriptions.

Returns effect names, descriptions, and which model types they work best on.

analyze_songB

Analyze a music file for light show sequencing.

Performs full audio analysis: beat detection, song structure, frequency spectrum, energy profile, and optionally source separation.

Args: mp3_path: Path to the .mp3 file to analyze

get_song_structureC

Get the verse/chorus/bridge structure of a song.

Args: mp3_path: Path to the .mp3 file

get_beat_mapC

Get beat and downbeat timestamps for a song.

Args: mp3_path: Path to the .mp3 file

get_energy_profileB

Get energy and frequency band analysis for a song.

Returns loudness curve and bass/mid/high energy over time.

Args: mp3_path: Path to the .mp3 file

create_sequenceA

Create an xLights sequence from a music file.

Analyzes the audio and generates a .xsq file with effects placed on your light models according to the selected generation mode.

Args: mp3_path: Path to the .mp3 file mode: Generation mode — "auto" (AI picks everything), "guided" (interactive), or "template" (apply saved recipes) palette_hint: Optional color hint (e.g., "red and green", "orange and purple") theme: Optional theme hint (e.g., "christmas", "halloween", "energetic") vocal_assignments: Optional mapping of model names to vocal track names. Use {"all": "<track_name>"} to assign one track to all singing models, or map individual models like {"Snowman": "Vocals", "Bulb Blue": "Full Mix Vocals"}. If omitted and singing models are detected, returns available models and tracks so you can prompt the user for assignments. show_name: Which show folder to generate the sequence in (e.g., "christmas", "halloween"). If omitted and multiple shows exist, returns available shows so you can ask the user which one to use.

preview_planA

Preview the sequence generation plan without creating a file.

Shows what effects would be placed on which models, based on the audio analysis and selected mode.

Args: mp3_path: Path to the .mp3 file mode: Generation mode — "auto", "guided", or "template" show_name: Which show folder to preview against. If omitted and multiple shows exist, returns available shows so you can ask the user.

remap_sequenceA

Import a sequence from a different show layout and remap it to your models.

Accepts a .xsq file or .zip package from the xLights community. Automatically matches imported models to your show's models using name similarity, model type, and pixel count. Generates a new .xsq with effects remapped to your layout.

Args: import_path: Path to the .xsq or .zip file to import. overrides: Optional dict mapping imported model names to your model names. These take precedence over automatic matching. pixel_threshold: Similarity threshold for pixel count matching (0.0-1.0). Default 0.70 means models must have at least 70% pixel count similarity. show_name: Which show folder to import into (e.g., "christmas", "halloween"). If omitted and multiple shows exist, returns available shows so you can ask the user which one to use.

Returns: Dict with mapping report, output path, and summary statistics.

fpp_statusA

Check Falcon Pi Player connection status and current state.

Returns FPP version, current playlist, scheduler state, etc.

fpp_upload_sequenceC

Upload a sequence (.fseq) and optional audio to Falcon Pi Player.

Args: fseq_path: Path to the .fseq file to upload audio_path: Optional path to the audio file (.mp3/.ogg)

fpp_list_playlistsA

List all playlists on the Falcon Pi Player.

fpp_start_playlistC

Start a playlist on the Falcon Pi Player.

Args: playlist_name: Name of the playlist to start repeat: Whether to loop the playlist

fpp_stopB

Stop current playback on the Falcon Pi Player.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 20 tools

Disambiguation4/5

Most tools target clearly distinct resources or actions (show management, sequence inspection, FPP control). The main overlap is analyze_song, which aggregates beat, structure, and energy analysis that are also exposed as separate tools, though the descriptions clarify the distinction.

Naming Consistency4/5

The set predominantly uses snake_case verb_noun names such as switch_show, list_models, create_sequence, and remap_sequence. Minor deviations like fpp_status and fpp_stop are acceptable because the fpp_ prefix consistently groups FPP-related tools.

Tool Count3/5

With 20 tools, the surface is broad but near the heavy end for a single MCP server. The tools are mostly justified by the domain, but the aggregate/granular audio-analysis tools add some duplication that inflates the count.

Completeness4/5

The server covers the core workflow well: audio analysis, show/model/sequence inspection, sequence generation and preview, remapping, upload to FPP, and playlist control. Minor gaps remain, such as no sequence deletion/update, no FPP playlist creation, and no explicit fseq rendering/export step.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive