xiaolaa2/ableton-copilot-mcp
If you are the rightful owner of ableton-copilot-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server for real-time interaction and control with Ableton Live's Arrangement View, assisting music producers in their music production.
Tools
Functions exposed to the LLM to take actions
list_resources
List Ableton live Browser resources of specified type
load_device
Load a resource which is loadable (audio effect/instrument/plugin/drums/midi effect/sounds) into a track. If track_id is not provided, will load to currently selected track. If no track is selected, instruments will be loaded to the last MIDI track, and audio effects will be loaded to the last MIDI or audio track.
get_clip_properties
Get clip properties by clip id. To get specific properties, set the corresponding property name to true in the properties parameter.
get_clip_notes
Get clip notes by clip id. Returns NoteExtended array for Live 11+ and Note array for Live 10 and below
remove_clip_notes
Remove clip notes by clip id
remove_notes_by_ids
Remove notes by clip id and note ids
add_notes_to_clip
Add notes to clip by clip id
modify_clip_notes
Modify clip notes by clip id
replace_clip_notes
Replace all notes in the clip with new notes
set_clips_property
batch set clip property
crop_clip
Crops the clip. The region that is cropped depends on whether the clip is looped or not. If looped, the region outside of the loop is removed. If not looped, the region outside the start and end markers is removed.
duplicate_clip_loop
Makes the loop twice as long and duplicates notes and envelopes. Duplicates the clip start/end range if the clip is not looped.
duplicate_clip_region
Duplicates the notes in the specified region to the destination_time. Only notes of the specified pitch are duplicated if pitch is not -1. If the transposition_amount is not 0, the notes in the region will be transposed by the transposition_amount of semitones. Raises an error on audio clips..
get_device_properties
get device properties. To get specific properties, set the corresponding property name to true in the properties parameter
modify_device_parameter_value
set device parameter value, only support built-in Live devices
get_operation_histories
get mcp tools operation histories by page
get_snapshot_by_history_id
get snapshot by history id
rollback_by_history_id
rollback to the state before the operation corresponding to the history_id was executed, currently supports Note operations
get_song_properties
get song properties. To get specific properties, set the corresponding property name to true in the properties parameter.
get_song_view_properties
get song view properties. To get specific properties, set the corresponding property name to true in the properties parameter.
set_song_property
set song basic properties
set_song_view_property
set song view properties
create_track
create track and return raw track
delete_track
delete track by index
duplicate_track
duplicate midi or audio track by index
record_by_time_range
Opens Ableton's audio record button and starts playback from start_time to end_time. Before recording, please: ENSURE: 1. Set the recording track to record mode 2. Set the recording track's input routing to Resample or a specific audio track/input routing(get from get_track_available_input_routings tool) 3. After recording, disable the track's record mode
get_track_properties
get track properties. To get specific properties, set the corresponding property name to true in the properties parameter
create_midi_clip
Creates an empty MIDI clip on the track and returns the created clip information
set_tracks_property
batch set tracks property
duplicate_clip_to_track
duplicate clip to track and return the duplicated clip information
delete_clip
delete clip by id
delete_device
delete device by index, start from 0
create_audio_clip
Create audio clip on track. Given an absolute path to a valid audio file in a supported format, creates an audio clip that references the file at the specified position in the arrangement view. Prints an error if: - The track is not an audio track - The track is frozen - The track is being recorded into
init_ableton_js
Initialize ableton-js and copy its MIDI scripts to Ableton Live's MIDI Remote Scripts folder. If ableton-js is already installed, it will update the content.
get_application_info
Get Ableton Live application information. To get specific properties, set the corresponding property name to true in the properties parameter. If no properties are specified, returns all available information.
Prompts
Interactive templates invoked by user choice
No prompts
Resources
Contextual data attached and managed by the client