> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vibrai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Install

> Install the Vibrai M4L device, Python remote script, and Ableton templates.

Install the Vibrai M4L device, Python remote script, and Ableton templates.

## Command line

### `install device`

Install the Vibrai Max-for-Live device + JS bridge into Live's User Library

```bash theme={null}
vibrai install device --force --source <PATH> --dest <PATH> --user <NAME>
```

<ParamField path="--force">
  Overwrite an existing install whose files differ from the source.
</ParamField>

<ParamField path="--source">
  \[\[advanced]] Override the source directory (test/debug use).
</ParamField>

<ParamField path="--dest">
  \[\[advanced]] Override the destination directory (test/debug use).
</ParamField>

<ParamField path="--user">
  Install into \<name>'s home directory instead of the current user's. Used by the macOS .pkg postinstall to deposit files into the real installing user's Ableton User Library when running as root.
</ParamField>

### `install remote-script`

Install the Vibrai Python remote script into Live's User Library

```bash theme={null}
vibrai install remote-script --force --source <PATH> --dest <PATH> --user <NAME>
```

<ParamField path="--force">
  Overwrite an existing install whose files differ from the source.
</ParamField>

<ParamField path="--source">
  \[\[advanced]] Override the source directory (test/debug use).
</ParamField>

<ParamField path="--dest">
  \[\[advanced]] Override the destination directory (test/debug use).
</ParamField>

<ParamField path="--user">
  Install into \<name>'s home directory instead of the current user's. Used by the macOS .pkg postinstall to deposit files into the real installing user's Ableton User Library when running as root.
</ParamField>

### `install templates`

Install the Vibrai Starter and Vibrai Demo Ableton templates into Live's User Library (always overwrites)

```bash theme={null}
vibrai install templates --source <PATH> --dest <PATH> --user <NAME>
```

<ParamField path="--source">
  \[\[advanced]] Override the source directory (test/debug use).
</ParamField>

<ParamField path="--dest">
  \[\[advanced]] Override the destination directory (test/debug use).
</ParamField>

<ParamField path="--user">
  Install into \<name>'s home directory instead of the current user's. Used by the macOS .pkg postinstall to deposit files into the real installing user's Ableton User Library when running as root.
</ParamField>

### `install all`

Install the M4L device, the Python remote script, and the Ableton templates

```bash theme={null}
vibrai install all --force --user <NAME>
```

<ParamField path="--force">
  Overwrite existing installs whose files differ from the source.
</ParamField>

<ParamField path="--user">
  Install into \<name>'s home directory instead of the current user's. Used by the macOS .pkg postinstall to deposit files into the real installing user's Ableton User Library when running as root.
</ParamField>

## MCP tools

### `install_device`

Copy the bundled vibrai.amxd Max-for-Live device + JS bridge files into the user's Ableton User Library. By default refuses to overwrite a modified install — pass force=true to clobber. Run once after installing the .mcpb extension; then open Ableton Live and drag vibrai.amxd onto a track. Returns the source/destination paths, status (Installed | AlreadyUpToDate), and the list of files.

```json theme={null}
{
  "tool": "install_device",
  "arguments": {
    "force": "<Boolean>",
    "source_override": "<String>",
    "dest_override": "<String>"
  }
}
```

<ParamField path="force" type="Boolean">
  Overwrite an existing install whose files differ from the source (default false)
</ParamField>

<ParamField path="source_override" type="String">
  \[advanced] Test-only override for the source directory
</ParamField>

<ParamField path="dest_override" type="String">
  \[advanced] Test-only override for the destination directory
</ParamField>

### `install_vibrai_remote_script`

Copy the bundled Vibrai Python remote script into Live's User Library Remote Scripts directory. By default refuses to overwrite a modified install — pass force=true to clobber. After install, restart Live and enable 'Vibrai' under Preferences → Link/Tempo/MIDI → Control Surface. Returns the source/destination paths, status (Installed | AlreadyUpToDate), and the list of files.

```json theme={null}
{
  "tool": "install_vibrai_remote_script",
  "arguments": {
    "force": "<Boolean>",
    "source_override": "<String>",
    "dest_override": "<String>"
  }
}
```

<ParamField path="force" type="Boolean">
  Overwrite an existing install whose files differ from the source (default false)
</ParamField>

<ParamField path="source_override" type="String">
  \[advanced] Test-only override for the source directory
</ParamField>

<ParamField path="dest_override" type="String">
  \[advanced] Test-only override for the destination directory
</ParamField>

### `install_templates`

Copy the bundled "Vibrai Starter" (blank, bridge preloaded on a Return track) and "Vibrai Demo" (a ready-to-play loop) Ableton Live Set templates into your Ableton User Library's Templates/Vibrai folder. Always overwrites — templates are refreshed on every install/update and are not meant to be hand-edited in place. Returns the source/destination paths, status (Installed | AlreadyUpToDate), and the list of files.

```json theme={null}
{
  "tool": "install_templates",
  "arguments": {
    "source_override": "<String>",
    "dest_override": "<String>"
  }
}
```

<ParamField path="source_override" type="String">
  \[advanced] Test-only override for the source directory
</ParamField>

<ParamField path="dest_override" type="String">
  \[advanced] Test-only override for the destination directory
</ParamField>

### `install_all`

Install the Max-for-Live device, Python remote script, and Ableton templates in one call — equivalent to install\_device + install\_vibrai\_remote\_script + install\_templates run in sequence. Stops at the first failure (each step must succeed before the next runs). Templates always overwrite regardless of force. Returns per-target results (device, remote\_script, templates).

```json theme={null}
{
  "tool": "install_all",
  "arguments": {
    "force": "<Boolean>"
  }
}
```

<ParamField path="force" type="Boolean">
  Overwrite existing device/remote-script installs whose files differ from the source (default false). Templates always overwrite regardless of this flag.
</ParamField>
