# Other MCP-compatible LLMs

Producer Pal works with any LLM that supports the Model Context Protocol (MCP).

Use `npx producer-pal` to connect to Producer Pal's MCP server. Its flags and
environment variables are listed in the
[`npx producer-pal` reference](/guide/npx-cli).

## Requirements

<div class="download-band download-band-compact">
  <div class="download-actions">
    <a class="download-btn download-btn-primary" href="https://github.com/adamjmurray/producer-pal/releases/latest/download/Producer_Pal.amxd">
      <span class="download-btn-label">Download Max for Live Device</span>
      <span class="download-btn-sub">Producer_Pal.amxd — add it to a MIDI track in Ableton Live</span>
    </a>
  </div>
</div>

- [Ableton Live 12.3+](https://www.ableton.com/live/) with
  [Max for Live](https://www.ableton.com/live/max-for-live/). Live 12.4 or later
  is recommended — some features don't work on older versions of Live. Use the
  version of Max bundled with Live, or make sure your standalone Max is up to
  date.

- AI that supports [MCP](https://modelcontextprotocol.io)
- [Node.js 20+](https://nodejs.org/en/download) — only needed if connecting via
  `npx producer-pal` (Option A below); not required for Option B or C

## Installation Steps

### 1. Install the Max for Live Device

Download
[Producer_Pal.amxd](https://github.com/adamjmurray/producer-pal/releases/latest/download/Producer_Pal.amxd),
the Producer Pal Max for Live device, and add it to a MIDI track in Ableton
Live:

<img src="/img/device-main-tab.png" alt="Producer Pal device running in Ableton Live" width="375"/>

_It should display "Producer Pal Running" or something isn't working._

### 2. Configure Your AI

Configure your AI to connect to Producer Pal using one of the following methods:

## Connection Methods

### Option A: Local MCP via stdio with npx (Recommended)

Allows flexible startup order and auto-reconnection. Configure your LLM MCP to
use:

```bash
npx -y producer-pal
```

This option requires [Node.js 20+](https://nodejs.org/en/download).

::: details Using a small/local model?

Add the `--small-model-mode` flag to enable
[Small Model Mode](./bionic#_4-tune-it-for-your-model-recommended), which
simplifies the tool interface for smaller LLMs and automatically enables it on
the device when connected:

```json
{
  "command": "npx",
  "args": ["-y", "producer-pal", "--small-model-mode"]
}
```

:::

::: details Only need some of the tools?

Add `--tools` to keep just the tools you want, or `--disable-tools` to drop the
ones you don't:

```json
{
  "command": "npx",
  "args": ["-y", "producer-pal", "--tools", "core,clip,track"]
}
```

`--tools` keeps only what you list; `--disable-tools` drops what you list. Both
take tool names (`read-clip` or `ppal-read-clip`) and group names: `core`,
`session`, `actions`, `live-set`, `track`, `scene`, `clip`, `device`,
`advanced`, and `read-only`. Run `npx producer-pal --list-tools` to print the
groups plus the tools the running device currently offers.

Withholding a tool also drops the part of the
[Producer Pal Skills](/features#skills) that teaches it, so you stop paying for
the tool's schema _and_ its guidance in every conversation. `--tools read-only`
cuts the skills text by more than half.

Unlike the other flags, this one is per client: the [Chat UI](/guide/chat-ui)
and your other MCP clients keep the full toolset. `ppal-connect` is always kept
— it is how the AI connects and receives the skills.

One wrinkle with `--tools`: it keeps what you list by withholding everything
else, and "everything else" is the tool list this copy of `npx producer-pal`
knows — so a tool added in a newer Producer Pal stays enabled until you update.
`--disable-tools` names tools directly, so it can withhold a newer tool even
from an older copy; only its _group_ names are limited to the ones above.

:::

::: details Advanced: enabling the Direct Live API

Add the `--live-api` flag to turn on the opt-in
[Direct Live API](/features/tools#ppal-live-api) tool (`ppal-live-api`) when the
server connects — the same setting as the device's **Setup** tab, so it's global
to the device:

```json
{
  "command": "npx",
  "args": ["-y", "producer-pal", "--live-api"]
}
```

Not recommended as a default — the specialized tools are tuned for reliable
results, while the raw Live API is low-level and easy to misuse. Use it for
custom control, integrations, or debugging directly against the
[Live Object Model](https://docs.cycling74.com/apiref/lom/) when the standard
tools aren't enough. The flag only ever _enables_ the tool; it never turns off a
setting you toggled on the device.

:::

### Option B: Local MCP via HTTP

Requires Ableton running first, no auto-reconnection. Use the URL:

```
http://localhost:3350/mcp
```

Sometimes an additional setting is needed for HTTP connections. For example,
[Cline](https://cline.bot/) requires `"type": "streamableHttp"` to be configured
along with the `url` (see example below).

You may need to restart your AI app or refresh MCP servers if you forgot to run
Ableton Live with Producer Pal Max first.

### Option C: Remote MCP via HTTP tunnel

Requires Ableton running first, no auto-reconnection. For cloud-hosted LLMs or
remote access:

1. Set up a [web tunnel](./web-tunnels) (e.g. Cloudflare or Pinggy)
2. Configure your LLM with the public URL + `/mcp`

## Example: Configuring Cline

[Cline](https://cline.bot/) is an IDE plugin for AI that can be configured to
use Producer Pal in its `cline_mcp_settings.json` config file:

```json
{
  "mcpServers": {
    "producer-pal": {
      "command": "npx",
      "args": ["-y", "producer-pal"]
    },
    // OR use HTTP:
    "producer-pal-http": {
      "type": "streamableHttp",
      "url": "http://localhost:3350/mcp"
    }
  }
}
```

Once Producer Pal is configured, start a new chat with Producer Pal tools
enabled, say "connect to ableton" or "connect to ableton with your producer pal
tools", and allow the tools to be used:

![Using Producer Pal with Cline](/img/cline-success.png)

## Troubleshooting

If it doesn't work, see the [Troubleshooting Guide](/support/troubleshooting).
