Ableton Copilot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DISABLE_TELEMETRY | No | Alternative to disable telemetry by setting to 'true'. | |
| MCP_DISABLE_TELEMETRY | No | Another alternative to disable telemetry by setting to 'true'. | |
| ABLETON_MCP_DISABLE_TELEMETRY | No | Disable telemetry by setting to 'true'. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_session_infoB | Get detailed information about the current Ableton session Parameters:
|
| get_track_infoB | Get detailed information about a specific track in Ableton. Parameters:
|
| create_midi_trackA | Create a new MIDI track in the Ableton session. Parameters:
|
| create_audio_trackA | Create a new audio track in the Ableton session. Parameters:
|
| delete_trackA | Delete a track from the Ableton session, including all its clips and devices. This is destructive and cannot be undone from the MCP server - use Ableton's own undo (Cmd/Ctrl+Z) in the app if you need to recover the track. Parameters:
|
| set_track_nameC | Set the name of a track. Parameters:
|
| create_clipA | Create a new MIDI clip in the specified track and clip slot. Parameters:
|
| create_audio_clipA | Create a new audio clip in an audio track's clip slot by importing a file. Requires Ableton Live 12.0.5 or newer — the underlying ClipSlot.create_audio_clip Live API was introduced in 12.0.5 and is not available in earlier 12.0.x releases. Parameters:
|
| get_clip_notesA | Read all MIDI notes out of a clip. Returns each note's pitch, start_time, duration, velocity, and mute state, along with the clip's name and length. Useful for inspecting what's already in a clip before editing it, or for reading back what add_notes_to_clip wrote. Parameters:
|
| add_notes_to_clipA | Add MIDI notes to a clip. Parameters:
|
| set_project_keyA | Set the project's tonal center (key/mode), and optionally tempo and genre. This is the foundation for every composition tool: chord/bass/drum generators and snap_to_scale all read this state. Does not touch Live unless tempo is given. Parameters:
|
| get_project_keyA | Get the project's current tonal center (key/mode), tempo, and genre, as previously set with set_project_key. Parameters:
|
| set_clip_nameA | Set the name of a clip. Parameters:
|
| delete_clipA | Delete the clip in a track's clip slot. Parameters:
|
| set_tempoB | Set the tempo of the Ableton session. Parameters:
|
| load_instrument_or_effectB | Load an instrument or effect onto a track using its URI. Parameters:
|
| get_device_parametersA | List the parameters of a device (instrument or effect) on a track, with their current values and valid ranges. Works for any device, including sound-design synths like Wavetable, Analog, Operator, Drift, and Sampler - their oscillators, filters, envelopes, and LFOs are all exposed as named parameters here. These devices can have 50-100+ parameters, so pass name_filter (a case-insensitive substring, e.g. "Filter", "Osc 1", "Env") to narrow the list to the section you're designing. Parameters:
|
| set_device_parameterA | Set the value of a parameter on a device (instrument or effect), e.g. filter cutoff, resonance, attack/decay/sustain/release, mix amount, etc. Identify the parameter with either parameter_name or parameter_index (use get_device_parameters first to discover the available names, indices, and valid min/max range for the target device). Parameters:
|
| set_multiple_device_parametersA | Set several parameters on a device in one call - useful for designing a sound on a synth like Wavetable, Analog, or Operator where you typically want to move several controls together (e.g. oscillator wave + filter cutoff + envelope decay). Use get_device_parameters first to find each parameter's name/index and valid min/max range. Each entry is applied independently: a bad value in one entry is reported in the response but does not block the others from being applied. Parameters:
|
| delete_deviceA | Delete a device (instrument or effect) from a track. Parameters:
|
| fire_clipC | Start playing a clip. Parameters:
|
| stop_clipA | Stop playing a clip. Parameters:
|
| start_playbackA | Start playing the Ableton session. Parameters:
|
| stop_playbackA | Stop playing the Ableton session. Parameters:
|
| get_browser_treeA | Get a hierarchical tree of browser categories from Ableton. Parameters:
|
| get_browser_items_at_pathA | Get browser items at a specific path in Ableton's browser. Parameters:
|
| search_browser_itemsA | Search the Ableton browser for items whose name contains a query string. Parameters:
|
| load_drum_kitA | Load a drum rack and then load a specific drum kit into it. Parameters:
|
| switch_to_arrangement_viewA | Switch Ableton's main window to the Arrangement view. Parameters:
|
| set_arrangement_timeA | Move the arrangement playhead to a specific position. Parameters:
|
| set_loop_regionA | Set the arrangement loop region. Parameters:
|
| enable_arrangement_loopA | Enable or disable the arrangement loop. Parameters:
|
| get_arrangement_clipsA | List all clips placed in the Arrangement timeline for a track. Returns each clip's index, name, start_time, end_time, length, and type. The index can be passed to get_arrangement_clip_notes to read a MIDI clip's notes. Parameters:
|
| get_arrangement_clip_notesA | Read all MIDI notes out of a clip placed in the Arrangement timeline. Returns each note's pitch, start_time, duration, velocity, and mute state, along with the clip's name and length. Use get_arrangement_clips first to find the clip's index. Parameters:
|
| duplicate_to_arrangementA | Copy a Session-view clip into the Arrangement timeline. Uses Live's track.duplicate_clip_to_arrangement() API (Live 11 / 12). The clip is placed at destination_time beats from the start of the arrangement on the same track it lives in. Typical workflow:
Parameters:
|
| create_arrangement_midi_clipA | Create a brand-new empty MIDI clip directly in the Arrangement timeline, without going through a Session clip slot first. Parameters:
|
| get_locatorsA | List all arrangement locators (markers/cue points) with their name and beat position. Use this to find a named marker (e.g. "Drop") before navigating or placing clips relative to it. Parameters:
|
| set_locatorA | Create (or rename, if one already exists at that time) an arrangement locator/marker at a beat position. Parameters:
|
| create_section_markersA | Create a set of arrangement locators from a song structure, given in bars. Converts each section's bar number to a beat position using the project's time signature, then places a named locator there via set_locator. Parameters:
|
| get_track_hierarchyA | List all tracks with their group/folder membership, so group tracks and the tracks nested inside them can be identified without guessing indices. Returns each track's index, name, color, whether it's a group (folder) track, and the index of the group track it belongs to (if any). Parameters:
|
| get_selectedB | Get the track, scene, and device currently selected in the Live UI. Parameters:
|
| set_track_colorA | Set a track's color. Parameters:
|
| set_track_volumeA | Set a track's mixer volume. Parameters:
|
| set_track_panA | Set a track's mixer pan. Parameters:
|
| set_track_muteA | Mute or unmute a track. Parameters:
|
| set_track_soloA | Solo or unsolo a track. Parameters:
|
| set_send_levelA | Set a track's send level to a return track. Parameters:
|
| generate_chord_progressionA | Write a diatonic chord progression as MIDI notes into a clip. Parameters:
|
| generate_drum_patternA | Write a genre-style drum pattern as MIDI notes into a clip on a drum rack track. Parameters:
|
| apply_sound_design_presetB | Apply a starter sound design patch to a device by preset name. Parameters:
|
| generate_basslineA | Write a bassline that follows the harmony of another track's clip, or a given chord progression, in a genre-appropriate style. Parameters:
|
| scaffold_trackA | Build a playable musical base from an empty (or clean) set in one call: key + tempo, section markers, and chords/bass/drums for the main section. Does NOT create groups, load instruments, or set a loop — those still need
to be done by hand in Live (see the Parameters:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| compose_track | Create a new Ableton arrangement from genre, mood, key, and length. |
| arrange_existing_loop | Turn existing Session View material into a structured Arrangement View song. |
| mix_session | Create a rough static mix for the current Ableton session. |
| sound_design_patch | Design or refine a synth/effect patch from a text description. |
| remix_clip | Create a musical variation of an existing MIDI clip. |
| debug_ableton_connection | Diagnose MCP server and Ableton Remote Script connection problems. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Current Ableton Session | Read-only snapshot of the current Ableton Live session. |
| Project Key | Saved key, mode, tempo, genre, and scale pitch classes. |
| Supported Genres | Supported genres, modes, drum mappings, default progressions, and sound presets. |
| Browser Favorites | Curated browser URI hints for known-good instruments, racks, and effects. |
| Tool Guide | Workflow guidance for choosing Ableton Copilot tools safely. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/F-Fischer/ableton-copilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server