AbletonMCP guide

Use Codex with Ableton Live.

Set up AbletonMCP in a local Codex desktop, CLI or IDE session. Install the matching bridge, check the connection, and make a read-only first request.

By Wouter Stierhout · Updated 5 September 2026 · Package 1.8.0

Local Codex, not Codex cloud

Live and this MCP server must run on the same computer. A cloud task cannot reach your Mac's or PC's loopback port. No OpenAI API key is required by this bridge; your Codex account and usage terms still apply.

1. Install the Live-side bridge

You need Live 11 or 12 and uv on your PATH. Use one pinned package version for installation, diagnosis and the MCP connection.

Terminal
uvx [email protected] install

For a relocated User Library, append --user-library "/path/to/User Library". Select the User Library itself, not its Remote Scripts subfolder. The installer creates that subfolder if needed.

If another script is already installed, the installer stops. Review it before adding --replace; that option saves a uniquely named recovery copy. Do not run another AbletonMCP control surface on the same port.

  1. Restart Ableton Live.
  2. Open Settings → Tempo & MIDI, then find the MIDI section and its Control Surface list.
  3. In an unused Control Surface row, select AbletonMCP. Keep existing hardware controller rows unchanged.
  4. In that same row, set Input: None and Output: None.

Link is a separate Settings page in current Live versions. In older versions, look under Link, Tempo & MIDI (or Link/MIDI) in Settings/Preferences, then find the MIDI section.

This Live setting is required.

The installer copies the Remote Script, but you must select AbletonMCP to start the bridge inside Live. The bridge uses a local socket; no hardware MIDI input or output is needed for this row.

2. Add the connection to Codex

Terminal
codex mcp add ableton -- uvx [email protected]
Terminal
codex mcp list

Alternatively, in the desktop app open Settings → MCP servers → Add server. Choose STDIO, command uvx, and argument [email protected]. Save and restart the server. Labels may vary by app version.

Manual config.toml configuration

Add this table to ~/.codex/config.toml; preserve other settings. Local Codex clients on the same host share this file.

[mcp_servers.ableton]
command = "uvx"
args = ["[email protected]"]
startup_timeout_sec = 30
tool_timeout_sec = 90
default_tools_approval_mode = "prompt"

Keep approvals enabled while learning the toolset. These timeouts cover ordinary commands, not every long recording.

3. Verify the connection before making music

Terminal
uvx [email protected] doctor --json

Look for "ok": true. This means the installed script matches the package, Live returned a valid session reply, and the running bridge reports the expected version.

Open a new local Codex chat and ask:

Use AbletonMCP to report the Live version, tempo and track names. Do not change the set or start playback.

Once that works, save your work and try a small edit in a disposable set. Ask Codex to read the result back after editing.

Common setup problems

“uvx not found” in the desktop app
Restart the app after installing uv. If needed, use the absolute uvx path in the command field. Find it with command -v uvx on macOS or where.exe uvx on Windows.
Doctor reports a version mismatch
Use the same pinned version in both commands and the MCP configuration. Review install --replace, then fully restart Live. Updating the file on disk does not reload an already running script.
Connection refused or every command times out
Check the Control Surface selection, competing port-9877 bridges and open Live dialogs. Dismiss the dialog yourself. Inspect the current set before retrying a timed-out edit; do not blindly replay mutations.
Why not paste the Claude JSON?
Codex manual configuration uses TOML's mcp_servers table; Claude/Cursor examples use a JSON mcpServers object.

What to try next

Inspect a saved .als file without opening Live, browse the complete tool reference, or check version-specific capabilities.

Configuration reference: OpenAI's MCP documentation.