LiveMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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_infoA | Get the current Ableton Live session state. Returns tempo, time signature, track count, return track count, master track info, playback state, and loop settings. |
| get_song_timeA | Get the current song time position and undo/redo availability. Returns current_song_time (in beats), can_undo, and can_redo. |
| get_cue_pointsA | Get all cue points (locators) in the song. Returns a list of cue points with index, name, and time. |
| set_tempoA | Set the session tempo in BPM. Args: tempo: Tempo value between 20 and 999 BPM. |
| start_playbackB | Start playing the Ableton Live session. |
| stop_playbackA | Stop playing the Ableton Live session. |
| undoA | Undo the last action in Ableton Live. |
| redoA | Redo the last undone action in Ableton Live. |
| set_time_signatureA | Set the song time signature. Args: numerator: Time signature numerator (e.g., 4 for 4/4). denominator: Time signature denominator (e.g., 4 for 4/4). |
| set_loop_regionC | Set the loop region and on/off state. Args: loop_on: Enable or disable looping. loop_start: Loop start position in beats. loop_length: Loop length in beats. |
| set_song_timeB | Set the current song time (playhead position) in beats. Args: time: Position in beats to jump to. |
| continue_playingA | Continue playback from the current position without restart. |
| stop_all_clipsA | Stop all playing clips in the session. |
| capture_midiA | Capture recently played MIDI notes into a new clip. |
| set_metronomeA | Enable or disable the metronome. Args: on: True to enable, False to disable. |
| set_groove_amountA | Set the global groove amount. Args: amount: Groove amount value (0.0 to 1.0). |
| set_scaleA | Set the song scale root note and/or scale name (Live 12+). Args: root_note: MIDI note number for the root (0=C, 1=C#, ..., 11=B). scale_name: Scale name (e.g., 'Major', 'Minor', 'Dorian'). |
| jump_to_next_cueA | Jump to the next cue point (locator). |
| jump_to_prev_cueA | Jump to the previous cue point (locator). |
| jump_to_cueA | Jump to a specific cue point by index. Args: index: Zero-based index of the cue point to jump to. |
| set_midi_recording_quantizationB | Set the MIDI recording quantization. Args: value: Quantization enum value (0=None, 1=1/4, 2=1/8, 3=1/8T, 4=1/8+T, 5=1/16, 6=1/16T, 7=1/16+T, 8=1/32). |
| set_clip_trigger_quantizationA | Set the clip trigger (launch) quantization. Args: value: Quantization enum value (0=None, 1=1/8, 2=1/4, 3=1/2, 4=1 Bar, 5=2 Bars, 6=4 Bars, 7=8 Bars). |
| trigger_recordB | Trigger session record in Ableton Live. |
| tap_tempoC | Tap tempo to set the BPM by tapping. |
| get_selected_trackA | Get information about the currently selected track. Returns the index, name, type, mute/solo/arm state, and color of the selected track. |
| set_selected_trackB | Set the selected track in Ableton Live. Args: track_index: Zero-based index of the track to select. |
| get_selected_sceneA | Get information about the currently selected scene. Returns the index, name, and color of the selected scene. |
| set_selected_sceneA | Set the selected scene in Ableton Live. Args: scene_index: Zero-based index of the scene to select. |
| get_scene_propertiesA | Get properties of a specific scene. Returns the scene name, tempo (-1.0 if not set), color, color_index, and (Live 12+) tempo_enabled, time_signature_numerator/denominator/enabled. Args: scene_index: Zero-based index of the scene. |
| set_scene_tempoA | Set the tempo for a specific scene. Pass 0 or a negative value to clear the scene tempo (scene will inherit the song tempo). Args: scene_index: Zero-based index of the scene. tempo: Tempo in BPM, or -1.0 to clear. |
| set_scene_time_signatureA | Set the time signature for a specific scene (Live 12+). Args: scene_index: Zero-based index of the scene. numerator: Time signature numerator (e.g., 4 for 4/4). denominator: Time signature denominator (e.g., 4 for 4/4). |
| get_application_infoA | Get Ableton Live application version info. Returns major_version, minor_version, and bugfix_version. |
| get_livemcp_infoA | Get LiveMCP remote-script transport capability information. |
| get_livemcp_statusA | Get local install state and remote-script capability status. Returns package version, client transport version, local install status, remote-script capability info when reachable, and actionable warnings. |
| get_validation_readinessA | Summarize whether Ableton is ready for flagship plugin validation. Returns remote reachability, selected track/device state, Max bridge availability, and suggested next steps for Live-side or Max-side QA. |
| confirm_validation_targetA | Confirm that the intended comparison device is the current Ableton selection. Provide at least one expected selector. Track and device names match case-insensitively after trimming whitespace. |
| get_application_dialogA | Get information about the current Ableton dialog box. Returns open dialog count, current dialog message, and current dialog button count. |
| press_current_dialog_buttonA | Press a button in the current Ableton dialog box. Args: index: Zero-based button index in the current dialog. |
| get_application_cpu_usageA | Get Ableton application's average and peak CPU usage. |
| get_available_main_viewsA | Get the canonical Ableton view names accepted by view control tools. |
| is_view_visibleA | Get whether an Ableton view is currently visible. Args: view_name: View name such as 'Browser', 'Arranger', 'Session', 'Detail', 'Detail/Clip', or 'Detail/DeviceChain'. |
| show_viewB | Show an Ableton UI view. Args: view_name: View name such as 'Browser', 'Arranger', 'Session', 'Detail', 'Detail/Clip', or 'Detail/DeviceChain'. |
| hide_viewA | Hide an Ableton UI view. Args: view_name: View name such as 'Browser', 'Arranger', 'Session', 'Detail', 'Detail/Clip', or 'Detail/DeviceChain'. |
| focus_viewB | Show and focus an Ableton UI view. Args: view_name: View name such as 'Browser', 'Arranger', 'Session', 'Detail', 'Detail/Clip', or 'Detail/DeviceChain'. |
| toggle_browseA | Toggle Ableton's browser hot-swap mode for the selected device. |
| get_record_modeA | Get whether arrangement recording is armed. Returns record_mode (True if armed, False otherwise). |
| get_link_stateA | Get Ableton Link and Tempo Follower state. |
| set_ableton_link_enabledA | Enable or disable Ableton Link. Args: enabled: True to enable Link, False to disable it. |
| set_ableton_link_start_stop_sync_enabledA | Enable or disable Ableton Link Start/Stop Sync. Args: enabled: True to enable Start/Stop Sync, False to disable it. |
| set_tempo_follower_enabledA | Enable or disable Tempo Follower. Args: enabled: True to enable Tempo Follower, False to disable it. |
| get_count_in_stateA | Get metronome count-in settings and current counting-in state. |
| get_session_record_statusB | Get Session Record state and current record status. |
| set_session_recordB | Enable or disable Session Record. Args: enabled: True to enable Session Record, False to disable it. |
| set_record_modeA | Enable or disable arrangement recording. Args: enabled: True to arm recording, False to disarm. |
| capture_and_insert_sceneA | Capture currently playing clips into a new scene. Creates a new scene containing all currently playing session clips. |
| create_locatorA | Create a cue point (locator) at the current playhead position. IMPORTANT: You must call set_song_time first to position the playhead at the desired location, then call create_locator. The locator is always created at the playhead position, not at an arbitrary time. |
| delete_locatorA | Delete a cue point (locator) by index. Due to Ableton API limitations, deletion may require two calls:
Args: index: Zero-based index of the cue point to delete. |
| get_view_stateA | Get the current view state in Ableton Live. Returns the selected track, detail clip (if any), draw mode, and follow song state. |
| get_selected_deviceA | Get the currently selected device on the selected track. |
| select_deviceA | Select a device on a track in Ableton's UI. Args: track_index: Zero-based index of the track. device_index: Zero-based index of the device in the track's device chain. |
| get_selected_parameterA | Get the currently selected Ableton device parameter. |
| get_selected_chainA | Get the currently selected rack chain in Ableton's UI. |
| set_follow_songA | Enable or disable Follow Song mode (auto-scroll to follow playhead). Args: enabled: True to enable, False to disable. |
| set_draw_modeA | Enable or disable Draw Mode for editing in Ableton Live. Args: enabled: True to enable, False to disable. |
| select_clip_in_detailA | Select a clip and show it in the Detail View. Args: track_index: Zero-based index of the track. clip_index: Zero-based index of the clip slot. |
| get_punch_stateA | Get the punch in/out state. Returns whether punch_in and punch_out are enabled. |
| set_punch_inA | Enable or disable punch in for recording. Args: enabled: True to enable punch in, False to disable. |
| set_punch_outA | Enable or disable punch out for recording. Args: enabled: True to enable punch out, False to disable. |
| re_enable_automationA | Re-enable automation that was overridden by manual parameter changes. When you manually adjust an automated parameter, the automation is overridden. This re-enables all overridden automation. |
| get_session_automation_recordA | Get whether session automation recording is enabled. Returns session_automation_record (True if enabled). |
| set_session_automation_recordA | Enable or disable session automation recording. When enabled, parameter changes during playback are recorded as automation. Args: enabled: True to enable, False to disable. |
| show_messageA | Display a message in the Ableton Live status bar. Args: message: Text to display in the status bar. |
| get_session_metadataA | Get session metadata: modified state, current song time, song length, and CPU load. Returns is_modified, current_song_time (beats), song_length (beats), and current_cpu_load (if available). |
| get_song_smpte_timeA | Get the current song time in SMPTE (timecode) format. Returns hours, minutes, seconds, and frames. |
| get_scene_infoA | Get detailed information about a specific scene. Returns the scene name, color, tempo (if tempo_enabled), time signature (if available), is_empty flag (if available), and clip_count across all tracks. Args: scene_index: Zero-based index of the scene. |
| get_scene_clipsA | Get all clips in a scene across all tracks. Returns clip status for every track at the given scene index, including track name, whether a clip is present, clip name and color, and playing/recording/triggered state. Args: scene_index: Zero-based index of the scene. |
| get_track_infoA | Get detailed information about a specific track. Returns the track name, type, mute/solo/arm state, volume, pan, list of clip slots with clip info, and list of devices. Args: track_index: Zero-based index of the track. |
| create_midi_trackA | Create a new MIDI track in the session. Args: index: Position to insert the track. Use -1 to append at the end. |
| create_audio_trackA | Create a new audio track in the session. Args: index: Position to insert the track. Use -1 to append at the end. |
| set_track_nameA | Set the name of a track. Args: track_index: Zero-based index of the track. name: New name for the track. |
| delete_trackA | Delete a track from the session. Args: track_index: Zero-based index of the track to delete. |
| get_return_tracksA | Get information about all return tracks in the session. Returns a list of return tracks with name, mute, solo, volume, and pan. |
| get_track_routingA | Get the input and output routing configuration for a track. Returns input/output routing type and channel display names, plus lists of all available input and output routing types. Args: track_index: Zero-based index of the track. |
| get_group_infoA | Get group and fold information for a track. Returns whether the track is foldable, whether it belongs to a group, its current fold state, and the group track name if grouped. Args: track_index: Zero-based index of the track. |
| duplicate_trackA | Duplicate a track. Args: track_index: Zero-based index of the track to duplicate. |
| duplicate_sceneC | Duplicate a scene. Args: scene_index: Zero-based index of the scene to duplicate. |
| delete_sceneA | Delete a scene from the session. Args: scene_index: Zero-based index of the scene to delete. |
| set_track_colorA | Set the color of a track by color index. Args: track_index: Zero-based index of the track. color_index: Ableton color palette index. |
| set_scene_nameA | Set the name of a scene. Args: scene_index: Zero-based index of the scene. name: New name for the scene. |
| set_scene_colorA | Set the color of a scene by color index. Args: scene_index: Zero-based index of the scene. color_index: Ableton color palette index. |
| create_return_trackA | Create a new return track in the session. |
| delete_return_trackA | Delete a return track from the session. Args: return_index: Zero-based index of the return track to delete. |
| set_track_monitoringA | Set the monitoring state of a track. Args: track_index: Zero-based index of the track. state: Monitoring state (0=In, 1=Auto, 2=Off). |
| set_track_input_routingA | Set the input routing for a track. Use get_track_routing to see available routing type names. Args: track_index: Zero-based index of the track. routing_type_name: Display name of the desired input routing type. routing_channel_name: Display name of the desired input routing channel (optional). |
| set_track_output_routingA | Set the output routing for a track. Use get_track_routing to see available routing type names. Args: track_index: Zero-based index of the track. routing_type_name: Display name of the desired output routing type. routing_channel_name: Display name of the desired output routing channel (optional). |
| fold_trackA | Fold or unfold a group track. Args: track_index: Zero-based index of the group track. fold: 1 to fold (collapse), 0 to unfold (expand). |
| get_track_freeze_statusA | Get the freeze status of a track. Args: track_index: Zero-based index of the track. Returns whether the track is frozen and whether it can be frozen. Note: Freezing/flattening cannot be triggered via the API (read-only status). |
| get_all_tracks_infoA | Get summary information for all tracks at once. Returns a list of all tracks with name, type, color, mute, solo, arm, is_foldable, is_grouped, device count, and clip count. Useful for getting a full session overview without making separate calls per track. |
| get_track_output_meterA | Get the output meter levels for a track. Returns the current output meter level, left channel, and right channel values. Args: track_index: Zero-based index of the track. |
| get_clip_slot_statusA | Get detailed status of a specific clip slot. Returns playing, recording, and trigger state, color info, and clip details (name, length, color) if a clip is present. Args: track_index: Zero-based index of the track. clip_index: Zero-based index of the clip slot. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| livemcp_status_resource | Combined local install state, remote-script reachability, and transport warnings. |
| current_session_resource | Current Ableton session transport and timing state. |
| song_time_resource | Current song playhead position and undo/redo state. |
| current_view_resource | Current Ableton UI view state, including visible views and follow-song state. |
| selected_track_resource | Currently selected Ableton track. |
| selected_scene_resource | Currently selected Ableton scene. |
| selected_device_resource | Currently selected device on the selected track. |
| application_dialog_resource | Current Ableton application dialog state. |
| max_status_resource | Local Max bridge reachability, capability state, and Max-specific warnings. |
| max_selected_device_resource | Currently selected Live device with Max for Live support and bridge attachment metadata. |
| max_current_patcher_resource | Summary of the currently attached Max patcher session. |
| docs_status_resource | Status of the local Ableton and Max docs index. |
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/alaarab/livemcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server