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, ...} |
Capabilities
Features and capabilities supported by this server
| 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. |
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