Skip to main content
Browse, tag, and manage instruments in the Vibrai library.

Command line

instrument list

List browser items (with optional tag/search/kind filters)
Filter by name substring (case-insensitive)
--path-contains
Filter by browser path substring (case-insensitive)
--path-prefix
Only items whose browser path starts with this prefix
--kind
Filter by kind (repeatable): Rack, Device, Preset, Plugin, MidiClip, AudioEffect, MidiEffect. Case-insensitive. Omit = all kinds.
--tagged
Only items with at least one user tag
--untagged
Only items without any user tag
--tag
Only items tagged with vibrai:<suffix> (e.g. —tag bass). Case-insensitive.
--include-extra
When used with —tag, also match unrecognized extra-tag suffixes
--offset
default:"0"
Skip this many qualifying results (for pagination, default 0)
--limit
default:"50"
Max results (default 50)

instrument tag

Apply a Vibrai PartType tag to an instrument
Browser URI (exact, contains ’:’ + ’#’) or name substring (case-insensitive, single match required)
part-type
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
uri-or-search
required
Browser URI (exact) or name substring (single match required)
part-type
required
PartType to remove (case-insensitive)

instrument show

Show one instrument record with all tags
uri-or-search
required
Browser URI (exact) or name substring (single match required)

instrument suggest

Suggest PartType tags from folder names (read-only, does not mutate)
--prefix
Scope suggestions to this browser path prefix (e.g. ‘Packs/F9 GALAXY’). Omit to scan all items.
--pattern-set
Pattern set to use. Only ‘default’ is supported.
--kind
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.
suffix
String
required
Tag suffix to match (e.g. ‘bass’ for vibrai:bass). Case-insensitive.
include_extra
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).
Case-insensitive substring match against item name. Omit/null = all.
path_contains
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.
path_prefix
String
Only return items whose browser path starts with this prefix (case-insensitive), e.g. ‘Packs/F9 GALAXY’. Omit/null = all.
kinds
String[]
Filter by kinds (any of): ‘Rack’, ‘Device’, ‘Preset’, ‘Plugin’, ‘MidiClip’, ‘AudioEffect’, ‘MidiEffect’. Case-insensitive. Null/empty = all kinds.
tagged
Nullable`1
If true, only items with at least one user tag; if false, only untagged; omit/null = both.
offset
Int32
Number of qualifying results to skip before returning (for pagination). Default 0.
limit
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.
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.
uri_or_search
String
required
Browser URI (exact) or name substring (case-insensitive, single match).
part_type
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. Errors: INSTRUMENT_NOT_FOUND, MULTIPLE_MATCHES, INVALID_PART_TYPE.
uri_or_search
String
required
Browser URI (exact) or name substring (case-insensitive, single match).
part_type
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.
prefix
String
Browser path prefix to restrict the scan (e.g. ‘Packs/F9 GALAXY’). Null/empty = entire snapshot.
pattern_set
String
Pattern set name. Only ‘default’ is supported. Null = default.
kinds
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.