
Ableton MCP
MCP让 agent 连接 Ableton Live 做音乐制作:创建 MIDI 与音频轨、写入音符、加载乐器和效果器、编排整首歌并控制播放。需在 Live 中安装配套 Remote Script,默认开启匿名遥测。
Ableton MCP
Connect Ableton Live to Claude AI
Prompt-assisted music production, end-to-end track creation, and Live session and arrangement manipulation — driven by AI.
Setup Video · Discord · Issues
Quickstart
Three steps: install uv, point your MCP client at the server, install the Ableton Remote Script.
1. Install uv
# macOS
brew install uv
Otherwise, install from uv's official website.
Warning: Do not proceed before installing uv.
2. Add the MCP server to your client
Claude Desktop — Settings → Developer → Edit Config
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": [
"ableton-mcp"
]
}
}
}
Cursor — Settings → MCP
Paste this as a command:
uvx ableton-mcp
Warning: Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both.
3. Install the Ableton Remote Script
uvx --from ableton-mcp ableton-mcp-install-script
uvx --from ableton-mcp ableton-mcp-install-script --list-targets # preview target folders first
4. Connect
- Launch Ableton Live
- Go to Settings/Preferences → Link, Tempo & MIDI
- In the Control Surface dropdown, select AbletonMCP
- Set Input and Output to None
That's it — ask Claude to build something.
Table of Contents
- Quickstart
- Features
- Components
- Installation
- Usage
- Troubleshooting
- Technical Details
- Limitations & Security Considerations
- Telemetry
- Join the Community
- Contributing
- Disclaimer
Features
| Two-way communication | Connect Claude AI to Ableton Live through a socket-based server |
| Track manipulation | Create, modify, and manipulate MIDI and audio tracks |
| Instrument and effect selection | Claude can access and load the right instruments, effects and sounds from Ableton's library |
| Clip creation | Create and edit MIDI clips with notes |
| Arrangement view composition | Build full songs autonomously in Arrangement View, including sections like intro, buildup, drop, breakdown, and outro |
| Session control | Start and stop playback, fire clips, and control transport across Session View and Arrangement View |
| Anonymous telemetry | Usage tracking to help improve the tool (can be disabled) |
Components
The system consists of two main components:
- Ableton Remote Script (
Ableton_Remote_Script/__init__.py) — a MIDI Remote Script for Ableton Live that creates a socket server to receive and execute commands - MCP Server (
server.py) — a Python server that implements the Model Context Protocol and connects to the Ableton Remote Script
Installation
Prerequisites
- Ableton Live 10 or newer
- Python 3.8 or newer
- uv package manager
If you're on Mac, please install uv as:
brew install uv
Otherwise, install from uv's official website
Warning: Do not proceed before installing uv.
Claude for Desktop Integration
Follow along with the setup instructions video
Go to Claude → Settings → Developer → Edit Config → claude_desktop_config.json to include the following:
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": [
"ableton-mcp"
]
}
}
}
Cursor Integration
Run ableton-mcp without installing it permanently through uvx. Go to Cursor Settings → MCP and paste this as a command:
uvx ableton-mcp
Warning: Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both.
Claude Code Integration
In the terminal, run:
claude mcp add AbletonMCP uvx ableton-mcp
Installing the Ableton Remote Script
Follow along with the setup instructions video
Install the Remote Script with:
uvx --from ableton-mcp ableton-mcp-install-script
uvx --from ableton-mcp ableton-mcp-install-script --list-targets # preview target folders first
If you installed the package with
piporpipx, the command is on your PATH directly — just runableton-mcp-install-script.
This copies the matching Remote Script into your Ableton User Library's Remote Scripts folder — the location Live (10.1.13+) scans for third-party control surface scripts. The installer reads the User Library location from Live's Library.cfg, falling back to the default (~/Music/Ableton/User Library on macOS, Documents\Ableton\User Library on Windows). If a different version of the script is already there, the existing file is backed up to __init__.py.bak before being replaced.
If your User Library lives somewhere non-standard and isn't detected, point the installer at it directly:
uvx --from ableton-mcp ableton-mcp-install-script --target "/path/to/User Library/Remote Scripts"
The legacy
Preferences/User Remote Scriptsfolder (used for instant-mapping configs, not Python control surfaces) is no longer targeted by default; pass--legacyif you need it for an old Live version.
Then restart Ableton (or re-select the AbletonMCP control surface) so Live loads it. Re-run the command after upgrading the package — the server logs a warning when the loaded script version doesn't match what it expects.
Note: The server does not install the script on startup. Writing into Ableton's preferences directory is an explicit action, not a side effect of launching a server.
First-time Ableton setup:
- Run
uvx --from ableton-mcp ableton-mcp-install-script - Launch Ableton Live
- Go to Settings/Preferences → Link, Tempo & MIDI
- In the Control Surface dropdown, select AbletonMCP
- Set Input and Output to None
Manual fallback locations (User Library → Remote Scripts)
- macOS:
~/Music/Ableton/User Library/Remote Scripts/AbletonMCP/ - Windows:
C:\Users\[Username]\Documents\Ableton\User Library\Remote Scripts\AbletonMCP\
If you've moved your User Library, use its actual location (shown in Live under Preferences → Library → Location of User Library), and create the Remote Scripts folder inside it if it doesn't exist yet.
The MCP server and Remote Script share a version handshake (get_remote_script_info). If they diverge, newer tools degrade gracefully until Live is restarted.
Usage
Starting the Connection
- Ensure the Ableton Remote Script is loaded in Ableton Live
- Make sure the MCP server is configured in Claude Desktop or Cursor
- The connection should be established automatically when you interact with Claude
Using with Claude
Once the config file has been set on Claude, and the remote script is running in Ableton, you will see a hammer icon with tools for the Ableton MCP.
Capabilities
- Get session and track information
- Create and modify MIDI and audio tracks
- Create full song arrangements from start to finish in Arrangement View
- Create, edit, and trigger clips
- Control playback
- Load instruments and effects from Ableton's browser
- Add notes to MIDI clips
- Change tempo and other session parameters
Example Commands
Here are some examples of what you can ask Claude to do:
| Prompt | Demo |
|---|---|
| "Create an 80s synthwave track" | Watch |
| "Create a Metro Boomin style hip-hop beat" | |
| "Create a full arrangement with an intro, buildup, drop, breakdown, and outro" | |
| "Create a new MIDI track with a synth bass instrument" | |
| "Add reverb to my drums" | |
| "Create a 4-bar MIDI clip with a simple melody" | |
| "Get information about the current Ableton session" | |
| "Load a 808 drum rack into the selected track" | |
| "Add a jazz chord progression to the clip in track 1" | |
| "Set the tempo to 120 BPM" | |
| "Play the clip in track 2" |
Troubleshooting
| Problem | Fix |
|---|---|
| Connection issues | Make sure the Ableton Remote Script is loaded, and the MCP server is configured on Claude |
| Timeout errors | Try simplifying your requests or breaking them into smaller steps |
| Have you tried turning it off and on again? | If you're still having connection errors, try restarting both Claude and Ableton Live |
Technical Details
Communication Protocol
The system uses a simple JSON-based protocol over TCP sockets:
- Commands are sent as JSON objects with a
typeand optionalparams - Responses are JSON objects with a
statusandresultormessage
Limitations & Security Considerations
- Creating complex musical arrangements might need to be broken down into smaller steps
- The tool is designed to work with Ableton's default devices and browser items
- Always save your work before extensive experimentation
Telemetry
There are two tiers, and they have different defaults.
Anonymous telemetry — on by default. A random install ID, a per-run session ID, which tools ran, whether they succeeded, and how long they took. This is what counts active users and catches broken tools. It contains none of your content: no prompts, no MIDI, no track or clip names, no device settings.
Dataset recording — off by default, opt-in. Everything with your work in it: prompts, MIDI notes, track and clip names, and device settings, which may be published as part of an open dataset used to train music-production models. Nothing here is collected unless you explicitly turn it on.
To see exactly what data each tier collects, see the Terms & Data Use.
Opting in to dataset recording
Either set the environment variable before starting the server:
export ABLETON_MCP_ENABLE_DATASET=true
…or answer the question when your client asks it. On your first tool call you're asked once — as a dialog if your client supports MCP elicitation, otherwise as a message in the chat — and answering yes turns it on from that point. Your answer is stored in ~/.ableton-mcp/consent.json. Declining, or never answering, records nothing. If you dismiss the dialog without choosing, that isn't treated as an answer and you may be asked again in a later session.
Opting out of anonymous telemetry
Set one of these before starting the MCP server:
export ABLETON_MCP_DISABLE_TELEMETRY=true
Or use any of these alternatives:
DISABLE_TELEMETRY=trueMCP_DISABLE_TELEMETRY=true
This also disables dataset recording. ABLETON_MCP_DISABLE_DATASET=true turns off dataset recording only, and overrides any stored grant.
For Claude Desktop, add the environment variable to your config:
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"],
"env": {
"ABLETON_MCP_DISABLE_TELEMETRY": "true"
}
}
}
}
Join the Community
Give feedback, get inspired, and build on top of the MCP: Discord
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is a third-party integration and not made by Ableton. Made by Siddharth.
If Ableton MCP is useful to you, consider starring the repo
相關資源

Ableton MCP Extended
MCP用自然语言操控 Ableton Live:建轨、写 MIDI 音符、加载乐器和效果器、调设备参数与场景;另配 ElevenLabs MCP(需其 API Key)可生成人声导入工程。需 Ableton Live 11 以上与 Python 3.10 以上,从源码安装并在 Live 中装配套 Remote Script。
uisato/ableton-mcp-extended279
REAPER MCP Server
MCP让 agent 操控 REAPER 完成编曲、混音到母带:建轨与总线、写 MIDI、加载效果器、做自动化、渲染分轨,并能分析响度、频谱与削波。需安装并打开 REAPER、Python 3.10 以上,并在 REAPER 里运行脚本开启 reapy 远程接口;项目处于 Alpha 阶段。
bonfire-systems/reaper-mcp159
ReaperMCP
MCP把 REAPER 交给 agent 做完整音乐制作:作曲与 MIDI 编辑、人声切片、按 35 种风格自动混音与母带、响度与静音质检,全部在本机运行,工程不上传。需安装 REAPER 7 以上与 Python 3.10 以上,并在 REAPER 中加载仓库里的 Lua 脚本。
xDarkzx/Reaper-MCP103
ableton-copilot-mcp
MCP面向音乐制作人的 Ableton Live 助手:在编曲视图里建轨、建片段,批量增删改音符,加载乐器和效果器,按时间段录制音轨,音符改动可回滚。需 Ableton Live 12 与 Node.js 20 以上,首次使用先用命令安装 AbletonJS 控制脚本,并在 Live 设置里启用它。
xiaolaa2/ableton-copilot-mcp93
flstudio-mcp
MCP让 Claude 在 FL Studio 里做混音诊断与作曲:扫描整首混音找出削波、电平失衡等问题并经确认逐项修复,调 EQ、压缩与混响,按指定调式写旋律并导出 MIDI,改动可回滚。需 Windows 或 macOS、FL Studio 2025 以上、Python 3.10 以上和两个虚拟 MIDI 端口,从源码运行安装脚本。
rosasynthesiz/flstudio-mcp92
TwelveTake REAPER MCP
MCP让 agent 在 REAPER 里混音、做母带和 MIDI 作曲:一步搭好侧链压缩、并行压缩和母带链,量化、人性化 MIDI,每次改动都能在 REAPER 里撤销。需安装 REAPER、Python 3.10 以上与 uv,用命令部署桥接脚本后在 REAPER 中运行它。
TwelveTake-Studios/reaper-mcp83