Devices & Racks

Inspect and drive devices, rack macros, and chains; load instruments and effects.

Tools on this page
  1. get_device_parameters
  2. set_device_parameter
  3. get_device_info
  4. delete_device
  5. set_device_on
  6. get_rack_macros
  7. set_rack_macro
  8. get_rack_chains
  9. set_chain_property
  10. load_instrument_or_effect

get_device_parameters

get_device_parameters(track_index: int, device_index: int, track_type: str = 'regular')

List all automatable parameters of a device on a track, with current value, min, max, whether it’s quantized, and (for quantized params) the list of selectable value items.

Parameters:

  • track_index: index of the track (ignored for master)
  • device_index: index of the device on that track (0 = first device)
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

Returns JSON with the device name and a parameters list (each: index, name, value, min, max, is_quantized, value_items).

set_device_parameter

set_device_parameter(
    track_index: int,
    device_index: int,
    parameter: Union[int, str],
    value: float,
    track_type: str = 'regular',
)

Set a single device/instrument parameter.

Parameters:

  • track_index: index of the track (ignored for master)
  • device_index: index of the device on that track
  • parameter: parameter index (int) OR parameter name (str, case-insensitive)
  • value: target value (clamped to the parameter’s min/max). For quantized parameters, pass the integer index of the desired value item.
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

get_device_info

get_device_info(track_index: int, device_index: int, track_type: str = 'regular')

Get detailed info about a device: class, type, on/off state, whether it is a rack (can_have_chains) or drum rack (can_have_drum_pads), and a summary of its macros and chains when it is a rack.

Parameters:

  • track_index: index of the track
  • device_index: index of the device on that track (0 = first device)
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

delete_device

delete_device(track_index: int, device_index: int, track_type: str = 'regular')

Delete a device from a track. Remaining devices re-index downward.

Parameters:

  • track_index: index of the track
  • device_index: index of the device to delete
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

set_device_on

set_device_on(
    track_index: int,
    device_index: int,
    on: Union[bool, int, str],
    track_type: str = 'regular',
)

Enable or disable a device (writes its ‘Device On’ parameter).

Parameters:

  • track_index: index of the track
  • device_index: index of the device
  • on: true/false (also accepts on/off, 1/0, yes/no)
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

get_rack_macros

get_rack_macros(track_index: int, device_index: int, track_type: str = 'regular')

List the macro controls of a rack device, each with its name, current value, min, max, and the underlying device-parameter index.

Parameters:

  • track_index: index of the track
  • device_index: index of the rack device
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

set_rack_macro

set_rack_macro(
    track_index: int,
    device_index: int,
    macro: Union[int, str],
    value: float,
    track_type: str = 'regular',
)

Set a rack macro control value.

Parameters:

  • track_index: index of the track
  • device_index: index of the rack device
  • macro: macro number (1-based int, e.g. 3) OR macro name (e.g. ‘Macro 3’)
  • value: target value (clamped to the macro’s min/max, typically 0..127)
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

get_rack_chains

get_rack_chains(track_index: int, device_index: int, track_type: str = 'regular')

List the chains of a rack device, each with its name, mute/solo state, and the devices it contains.

Parameters:

  • track_index: index of the track
  • device_index: index of the rack device
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

set_chain_property

set_chain_property(
    track_index: int,
    device_index: int,
    chain_index: int,
    property: str,
    value: Union[bool, int, float, str],
    track_type: str = 'regular',
)

Set a property on one chain of a rack device.

Parameters:

  • track_index: index of the track
  • device_index: index of the rack device
  • chain_index: index of the chain within the rack (0 = first)
  • property: ‘mute’ or ‘solo’ (bool) or ‘volume’ / ‘panning’ (float, clamped)
  • value: bool for mute/solo; float for volume/panning
  • track_type: ‘regular’ (default), ‘return’, or ‘master’

load_instrument_or_effect

load_instrument_or_effect(track_index: int, uri: str, track_type: str = 'regular')

Load an instrument or effect onto a track using its URI.

Parameters:

  • track_index: The index of the track to load onto (ignored for master)
  • uri: The URI of the instrument or effect to load (e.g., ‘query:Synths#Instrument%20Rack:Bass:FileId_5116’)
  • track_type: ‘regular’ (default), ‘return’, or ‘master’. Only audio effects are valid on return/master tracks.

ableton-mcp-max - free for noncommercial use; commercial licensing available. Built by Ryan Robson / Robworks Software LLC. Not affiliated with or endorsed by Ableton AG.

This site uses Just the Docs, a documentation theme for Jekyll.