Skip to main content
Glama
peterkolbe

io.github.peterkolbe/ableton-for-ai

by peterkolbe

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLogging verbosity (INFO or DEBUG).INFO
BASE_OUT_DIRNoWhere analysis output is stored. Defaults to {STEMS_SOURCE_DIR}/ableton-for-ai-out if stems dir is set, else ~/.ableton-for-ai/out. Override with an absolute path.auto
STEMS_SOURCE_DIRNoPath where exported stems are located../stems
SPECTROGRAM_QUALITYNoQuality of WebP spectrograms (1-100).90
RELEVANT_DEVICE_NAMESNoList of specific plugin names to include.{Pro-Q 4}
PREFERRED_AUDIO_FORMATNoAudio format to analyze (mp3 or wav).mp3
RELEVANT_DEVICE_CLASSESNoList of Ableton device classes to include in extraction.{Eq8, Compressor, ...}

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
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_resourcesB

List resources available on the server.

read_resourceC

Read a resource available on the server.

analyze_stemsA

DEEP AUDIO ANALYSIS: Triggers the generation of summaries and spectrograms for all tracks.

This is a heavy operation that:

  1. Generates '.summary.json' (Frames, Transients, LUFS) for AI consumption.

  2. Generates '.spectrogram.webp' (Log-frequency visualizations).

  3. Generates '.analysis.json' (Full resolution data for internal use).

ACTION: Use this when you need fresh audio data (e.g., after the user recorded new parts or changed audio effects that significantly alter the sound).

get_overviewA

SESSION DISCOVERY: Returns a high-level overview of the current Live set.

Includes:

  • Tempo and Locators (Song structure).

  • Simplified Track list with mixer states (Index, Name, Volume, Panning, Mute, Solo).

Use this for initial navigation and to identify track indices for further 'get_track' calls.

get_trackA

TRACK INSPECTION: Returns comprehensive data for a single track.

Includes:

  • Mixer state (Volume, Panning, etc.).

  • Complete Device Chain.

  • All Device Parameters (including UI-readable strings like "-12.0 dB" or "1500 Hz").

Use this when you need to understand exactly how a specific track is processed or which parameters are available for manipulation.

get_tracksA

BULK TRACK INSPECTION: Query full data for multiple tracks in a single call.

Parameters:

  • index_min: Starting track index.

  • index_max: Ending track index.

Returns an array of track objects, identical in structure to 'get_track'. Highly efficient for analyzing groups of tracks (e.g., all drum tracks).

set_device_parameterA

REMOTE CONTROL: Sets a specific device parameter.

Parameters:

  • track_index: The index of the track.

  • device_index: The index of the device in the chain.

  • parameter_index: The index of the parameter to change.

  • value: The new normalized value (0.0 to 1.0).

Note: For UI-readable values (like dB or Hz), check 'get_track' output first, but always send the normalized 0.0-1.0 value for the actual change.

set_device_parametersA

BULK REMOTE CONTROL: Sets multiple parameters for a device at once.

Parameters:

  • values: A list of floats representing the new values for ALL parameters of the device.

Recommended for loading 'presets' or making simultaneous multi-parameter adjustments.

set_track_volumeB

MIXER CONTROL: Sets the volume of a track.

  • value: 0.0 to 1.0 (corresponds to Ableton's internal fader scaling).

set_track_panningA

MIXER CONTROL: Sets the panning of a track.

  • value: -1.0 (Left) to 1.0 (Right), 0.0 is Center.

set_track_muteC

Toggles the mute status of a track (True=Muted, False=Active).

set_track_soloC

Toggles the solo status of a track (True=Solo, False=Normal).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_available_stem_summaries_resourceReturns a list of all tracks that have an available '.summary.json' analysis file. Use this to discover which tracks can be inspected via 'ableton://stems/{track_name}/summary'.
get_available_stem_spectrograms_resourceReturns a list of all tracks that have an available '.spectrogram.webp' image. Use this to discover which tracks have visual representations available.

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct action or resource: analysis, session overview, single/bulk track inspection, device parameter control (single and bulk), and individual mixer controls. No overlapping purposes; descriptions clearly differentiate them.

Naming Consistency4/5

All tool names use snake_case and follow a verb_noun pattern, but verbs vary (get_, set_, list_, read_, analyze_). While readable, the mix is slightly inconsistent; e.g., list_resources vs get_track.

Tool Count5/5

12 tools is well-scoped for an Ableton Live MCP server covering session discovery, track inspection, device parameter control, mixer control, and audio analysis. No unnecessary tools; each serves a clear purpose.

Completeness4/5

The set covers core inspection, parameter control, and mixer operations. Minor gaps exist (e.g., no track/device creation or deletion, no transport control), but the domain focus on AI-driven adjustment and analysis makes it acceptably complete.

Maintenance

ActivityInactive
ResponsivenessNo issues