Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SHADOWROOM_HOMENoBase directory for the virtualenv and output directories. Default: ~/Documents/ShadowRoom
STEM_SPLIT_PYTHONNoThe interpreter that has Demucs. Default: <ShadowRoom>/_venvs/stem-splitter/bin/python
STEM_SPLIT_COMMANDNoRemote command template for separation, e.g. `ssh gpu 'split {input} {output_dir}'` with `{input}`, `{output_dir}`, `{model}` placeholders. Leave unset to use local Demucs.
STEM_SPLIT_JOB_DIRNoDirectory for job records. Default: <ShadowRoom>/stem-splitter-jobs
STEM_SPLIT_OUT_DIRNoWhere the stems are written. Default: <ShadowRoom>/stems

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
separate_stemsA

Start separating one audio file into vocals / drums / bass / other. Returns a job id immediately.

stem_job_statusA

Read one separation job (or the recent ones): status, stage, stems, errors.

stem_job_cancelA

Stop a running separation and remove its half-written stems.

stem_backendsA

Which separation backends this machine has (local demucs, or STEM_SPLIT_COMMAND) and how to enable them.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

The four tools map to distinct actions: starting a job, checking status, cancelling, and listing backends. There is no overlap in purpose, so an agent should be able to select the correct one without ambiguity.

Naming Consistency2/5

Naming is mixed: separate_stems follows verb_noun, while stem_job_status and stem_backends are noun phrases and stem_job_cancel reverses the object/verb order. A consistent pattern such as get_stem_job_status, cancel_stem_job, and list_stem_backends would make the set more predictable.

Tool Count5/5

Four tools is well-scoped for a job-based audio stem separation server. Every tool covers a necessary lifecycle action without redundancy.

Completeness4/5

The core job lifecycle is covered: start, inspect status, and cancel, plus backend discovery. A minor gap is the lack of an explicit result-retrieval or cleanup tool, though status may expose stem outputs indirectly.

Maintenance

ActivityMaintained
ResponsivenessNo issues