Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SHADOW_LIBRARY_DBNoOverrides the default library database path (~/Documents/ShadowRoom/_library/library.db).~/Documents/ShadowRoom/_library/library.db

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

Tools

Functions exposed to the LLM to take actions

NameDescription
scan_folderB

Index/refresh a folder of audio files into the library (fingerprint = size + mtime + head/tail 64KB hash; only changed files are re-read).

list_tracksA

Search the library: query (title/artist/album), bpm range, camelot code, genre tags, limit/offset.

track_detailC

Full row for one track (tags, BPM/key/camelot, energy, 64-bucket peaks, crates).

analyze_missingA

Fill in missing BPM/key by running the local analysis plugin (detect_tempo/detect_key) over the files that lack them.

crate_createA

Create a named crate (idempotent: same name returns the existing id).

crate_listA

List crates with their track counts.

crate_addA

Append tracks to a crate (keeps insertion order; duplicates are skipped).

statsB

How many tracks, how many still missing BPM/key, crates, db size.

import_historyA

READ-ONLY import of Rekordbox (master.db opened read-only) / Serato crates into sets/history tables. Never writes your DJ libraries.

learn_preferencesA

Learn a preference model from imported sets: genre weights, ΔBPM, Camelot moves, energy steps, set shape. Explainable, one-click forgettable.

preference_summaryB

One human-readable Chinese sentence about what you favour and how you transition (falls back to defaults when there is not enough history).

forget_preferencesB

Wipe the learned model (optionally also sets/history); summary returns to the cold-start default.

import_rekordbox_xmlA

Import a Rekordbox 'Export Collection in xml' file (6.3.0+, plaintext): tracks with BPM/key/genre, cues, playlists → sets. Read-only on the XML.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 13 tools

Disambiguation4/5

Most tools are clearly distinct, but the two import tools (import_history and import_rekordbox_xml) could be confused despite different input formats. Preference and crate tools are well-separated.

Naming Consistency4/5

Most tools follow verb_noun pattern (e.g., scan_folder, list_tracks), but 'stats' and 'preference_summary' deviate, breaking the consistency slightly.

Tool Count5/5

13 tools is within the well-scoped range for a library management server, covering imports, preferences, crates, analysis, and stats without excess.

Completeness4/5

Core workflows are covered (import, scan, search, detail, analysis, crate management, preferences), but there are no update/delete tools for tracks or crates, leaving minor gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues