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, ...}

Capabilities

Features and capabilities supported by this server

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/peterkolbe/ableton-for-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server