Command line
instrument list
List browser items (with optional tag/search/kind filters)
Filter by name substring (case-insensitive)
Filter by browser path substring (case-insensitive)
Only items whose browser path starts with this prefix
Filter by kind (repeatable): Rack, Device, Preset, Plugin, MidiClip, AudioEffect, MidiEffect. Case-insensitive. Omit = all kinds.
Only items with at least one user tag
Only items without any user tag
Only items tagged with vibrai:<suffix> (e.g. —tag bass). Case-insensitive.
When used with —tag, also match unrecognized extra-tag suffixes
default:"0"
Skip this many qualifying results (for pagination, default 0)
default:"50"
Max results (default 50)
instrument tag
Apply a Vibrai PartType tag to an instrument
required
Browser URI (exact, contains ’:’ + ’#’) or name substring (case-insensitive, single match required)
required
PartType to apply (case-insensitive). Use an invalid value to see the full list.
instrument untag
Remove a Vibrai PartType tag from an instrument
required
Browser URI (exact) or name substring (single match required)
required
PartType to remove (case-insensitive)
instrument show
Show one instrument record with all tags
required
Browser URI (exact) or name substring (single match required)
instrument suggest
Suggest PartType tags from folder names (read-only, does not mutate)
Scope suggestions to this browser path prefix (e.g. ‘Packs/F9 GALAXY’). Omit to scan all items.
Pattern set to use. Only ‘default’ is supported.
Restrict to these kinds (repeatable). Default: instrument-bearing (Rack, Device, Preset); Plugin and MIDI/FX are excluded. Pass e.g. —kind Plugin or —kind MidiClip to opt back in. Case-insensitive.
instrument refresh
Rescan the browser snapshot via the Vibrai Live remote script
MCP tools
find_instruments_by_tag
Find tagged browser items (user presets, racks, plug-ins) tagged ‘vibrai:<suffix>’. Returns all matches: their browser URI (pass as load_device ‘path’), display name, browser path, and the recognized/extra tag buckets. Empty array if no matches or no cache file. Tags are populated by the Vibrai Live remote script — see install_vibrai_remote_script.
String
required
Tag suffix to match (e.g. ‘bass’ for vibrai:bass). Case-insensitive.
Boolean
If true, also matches unrecognized ‘extra’ tag suffixes. Default false.
refresh_instrument_tags
Ask the Vibrai Live remote script to rescan the browser. Touches the trigger file and waits up to 30 seconds for the browser snapshot to be rewritten. Returns the new scanned_at + item_count, or INSTRUMENT_TAG_SCRIPT_NOT_RUNNING if the script doesn’t respond. If you get the not-running error, run install_vibrai_remote_script and make sure Vibrai is enabled in Live’s Preferences → Link/Tempo/MIDI → Control Surface. CLI: vibrai instrument refresh.
list_browser_items
List items from the Vibrai browser snapshot, optionally filtered by name substring, path substring, path prefix, kinds, or tagged state. The snapshot is written by the Vibrai Live remote script; the user tags items via tag_instrument. Returns up to limit results starting at offset (for pagination).
String
Case-insensitive substring match against item name. Omit/null = all.
String
Case-insensitive substring match against the full browser path (e.g. ‘Basses’ matches any item under a folder containing that word). Omit/null = all.
String
Only return items whose browser path starts with this prefix (case-insensitive), e.g. ‘Packs/F9 GALAXY’. Omit/null = all.
String[]
Filter by kinds (any of): ‘Rack’, ‘Device’, ‘Preset’, ‘Plugin’, ‘MidiClip’, ‘AudioEffect’, ‘MidiEffect’. Case-insensitive. Null/empty = all kinds.
Nullable`1
If true, only items with at least one user tag; if false, only untagged; omit/null = both.
Int32
Number of qualifying results to skip before returning (for pagination). Default 0.
Int32
Max results to return (default 50).
show_instrument
Show one browser item plus any user tags applied to it. Accepts an exact uri (contains ’:’ and ’#’) or a name substring; case-insensitive. Errors: INSTRUMENT_NOT_FOUND, MULTIPLE_MATCHES.
String
required
Browser URI (exact match) or name substring (case-insensitive, single match required).
tag_instrument
Apply a Vibrai PartType tag to a browser item. Accepts an exact uri or a name substring (single match). Atomically updates instrument-tags.json. Errors: INSTRUMENT_NOT_FOUND, MULTIPLE_MATCHES, INVALID_PART_TYPE.
String
required
Browser URI (exact) or name substring (case-insensitive, single match).
String
required
PartType to apply (case-insensitive). E.g. ‘bass’, ‘pad’, ‘lead’.
untag_instrument
Remove a Vibrai PartType tag from a browser item. If the item ends with no tags at all (recognized + extra both empty), the record is dropped from the tag store. Untagging is idempotent, so check the response before reporting success: removed is true ONLY when the store actually changed, and outcome says which of no_record / tag_not_present / tag_removed / record_cleared happened. Errors: INSTRUMENT_NOT_FOUND, MULTIPLE_MATCHES, INVALID_PART_TYPE.
String
required
Browser URI (exact) or name substring (case-insensitive, single match).
String
required
PartType to remove (case-insensitive).
suggest_tags_from_folders
Scan the browser snapshot and infer PartType tags from folder names. Returns suggestions only — call tag_instrument to apply them. By default only instrument-bearing items (racks/devices/presets) are scanned; plug-ins, MIDI clips, and audio/MIDI-effect presets are excluded — pass kinds to override (plug-in paths are vendor folders, so folder inference rarely helps them; tag plug-ins directly with tag_instrument). Use ‘prefix’ to scope to a single pack. Does not mutate state.
String
Browser path prefix to restrict the scan (e.g. ‘Packs/F9 GALAXY’). Null/empty = entire snapshot.
String
Pattern set name. Only ‘default’ is supported. Null = default.
String[]
Restrict to these kinds. Default (null/empty) = instrument-bearing (Rack, Device, Preset); Plugin, MIDI clips, and audio/MIDI effects are excluded. Pass e.g. [‘Plugin’] or [‘MidiClip’] to opt them back in. Case-insensitive.