io.github.peterkolbe/ableton-for-ai
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging verbosity (INFO or DEBUG). | INFO |
| BASE_OUT_DIR | No | Where 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_DIR | No | Path where exported stems are located. | ./stems |
| SPECTROGRAM_QUALITY | No | Quality of WebP spectrograms (1-100). | 90 |
| RELEVANT_DEVICE_NAMES | No | List of specific plugin names to include. | {Pro-Q 4} |
| PREFERRED_AUDIO_FORMAT | No | Audio format to analyze (mp3 or wav). | mp3 |
| RELEVANT_DEVICE_CLASSES | No | List 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
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| 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:
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:
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:
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:
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:
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:
Recommended for loading 'presets' or making simultaneous multi-parameter adjustments. |
| set_track_volumeB | MIXER CONTROL: Sets the volume of a track.
|
| set_track_panningA | MIXER CONTROL: Sets the panning of a track.
|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_available_stem_summaries_resource | Returns 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_resource | Returns a list of all tracks that have an available '.spectrogram.webp' image. Use this to discover which tracks have visual representations available. |
TDQS
Scored across 12 tools
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.
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.
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.
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.