Skip to main content
Load, browse, and manage devices on tracks.

Command line

device list

List devices loaded on a track
track
required
Track number (1-based: 1, 2, … or first, second, …)

device drum-pads

List a Drum Rack’s pads (index, name, trigger note) on a track
track
required
Track number (1-based: 1, 2, … or first, second, …)
--device
default:"0"
Index of the Drum Rack device in the track’s chain (default 0)

device load

Load a stock device, User Library preset, or plug-in (VST3/AU) onto a track
track
required
Track number (1-based: 1, 2, … or first, second, …)
--path
Browser path or URI. Accepts (a) classic stock-device paths like ‘Instruments/Operator’, (b) preset ‘.adg’ browser paths like ‘Drums/F9 TK Menu_ Hat Closed V2.adg’ (auto-resolved to their query: URI), or (c) query: URIs from find_instruments_by_tag/show_instrument, including plug-in URIs from the Plug-Ins browser section.
--part-type
PartType shorthand (Bass, Pad, Lead, …); resolves through defaults.instruments
--position
Insert position in device chain (1-based: 1 = first slot; omit to append)

device browse

List immediate children of a Live browser path
path
Browser path; empty for the snapshot’s top-level folders. Examples: “Drums”, “Instruments/Operator”, “Packs/F9 GALAXY”, “User Library”.

device default

Show the resolved default device for a part-type
partType
required
PartType to resolve
--project
Resolve genre-aware defaults against this .vibrai file (defaults to Untitled.vibrai in CWD)
--stock-only
Report the stock-only view: skips explicit defaults.instruments overrides AND tagged instruments.

device delete

Remove a device from a track’s top-level device chain by index
track
required
Track number (1-based: 1, 2, … or first, second, …)
device-index
required
Device chain position (1-based: 1 = first device in the chain)

device load-defaults

Load each part’s default instrument from a .vibrai project onto its track
--project
Path to the .vibrai file whose parts get their default instruments
--stock-only
Resolve instruments from stock content only: skips explicit defaults.instruments overrides AND tagged instruments. For demos/testing without third-party packs.

MCP tools

load_device

Load a stock device, User Library preset, or plug-in (VST3/AU) onto a track. Specify either path OR part_type, not both. The path argument accepts (a) classic browser paths like “Instruments/Operator” for stock devices, (b) query: URIs from find_instruments_by_tag for user-tagged presets, or (c) plug-in URIs from the Plug-Ins browser section. part_type=Bd/Snare/HiHat/Perc/Crash/Fill/Roll/Drums loads the deterministic default kit (the stock 909 Core Kit), falling back to an empty “Instruments/Drum Rack” + warning when it is unavailable (use browse_devices “Drums” and load_device on a specific kit preset to override). Tonal part_types (Bass/Pad/Chord/etc.) load synths that sound by default.
track_id
String
required
Track number (1-based: 1, 2, … or ‘first’, ‘second’, …)
path
String
Browser path or URI. Accepts (a) classic stock-device paths like ‘Instruments/Operator’, (b) preset ‘.adg’ browser paths like ‘Drums/F9 TK Menu_ Hat Closed V2.adg’ (auto-resolved to their query: URI), or (c) query: URIs from find_instruments_by_tag/show_instrument, including plug-in URIs from the Plug-Ins browser section.
part_type
Nullable`1
PartType shorthand; resolves through defaults.instruments
position
String
Insert position in device chain (1-based: 1 = first slot; omit to append at the end)

browse_devices

List immediate children of a Live browser path. Reads the Vibrai instrument-browser snapshot (written by the Vibrai Live remote script via SP9) in-process — no live Ableton connection required. Empty path returns the snapshot’s top-level folders. Examples: ‘Drums’ (drum kit presets), ‘Instruments/Operator’ (Operator presets), ‘Packs/<PackName>’ (pack contents), ‘User Library’ (user-saved presets). Returns an empty list when the snapshot is missing — run install_vibrai_remote_script and refresh in Live.
path
String
Browser path string; empty = top-level snapshot folders.

delete_device

Remove a device from a track’s top-level device chain by index. v1 scope: top-level chain only — nested racks (Drum Rack pads, Instrument Rack chains) are not addressable through this call. The device is gone immediately; there is no undo. Use list_devices to discover indices.
track_id
String
required
Track number (1-based: 1, 2, … or ‘first’, ‘second’, …)
device_index
String
required
Device chain position (1-based: 1 = first device in the chain)

list_devices

List devices currently loaded on a track in chain order. Returns each device’s index, id, name, and class info — pass device_id to list_automation_params / get_automation / write_automation.
track_id
String
required
Track number (1-based: 1, 2, … or ‘first’, ‘second’, …)

list_drum_pads

List the pads of a Drum Rack on a track: each pad’s index, name, and the MIDI note that triggers it. Use this to see which sounds a loaded kit maps to (e.g. which note is the snare). Returns an empty list when the device at device_index is not a Drum Rack.
track_id
String
required
Track number (1-based: 1, 2, … or ‘first’, ‘second’, …)
device_index
Nullable`1
Index of the Drum Rack device in the track’s chain (default 0 = first device)

get_default_instrument

Report the resolved instrument for a part-type without loading it: precedence is explicit defaults.instruments → tagged → genre stock default → built-in generic. Pass project_path to resolve against a project’s genre; stock_only reports the stock-only view (skips explicit + tagged).
part_type
PartType
required
PartType to resolve
project_path
String
Path to a .vibrai file to resolve genre-aware defaults against (defaults to Untitled.vibrai in CWD)
stock_only
Boolean
Report the stock-only view: skips explicit defaults.instruments overrides AND tagged instruments.

load_default_instruments

Load each MIDI part’s default instrument from a .vibrai project onto its track, so the rendered song is audible. Tonal parts get their resolved synth (defaults.instruments override or built-in); drum parts get the deterministic default kit (the stock 909 Core Kit), falling back to an empty Drum Rack + warning when it is unavailable. Idempotent: a track that already has a device is skipped. Run this after generate (or pass with_instruments=true to generate). live_track_id in the result is 1-based, matching list_tracks and load_device.
project_path
String
Path to the .vibrai file (defaults to Untitled.vibrai in CWD when omitted)
stock_only
Boolean
Resolve instruments from stock content only: skips explicit defaults.instruments overrides AND tagged instruments. For demos/testing without third-party packs.