- Home
- MCP servers
- AbletonMCP Server
AbletonMCP Server
- python
2.2k
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"ahujasid-ableton-mcp": {
"command": "uvx",
"args": [
"ableton-mcp"
]
}
}
}AbletonMCP lets Claude AI connect to Ableton Live through a socket-based server, enabling two‑way control of tracks, clips, instruments, and transport directly from prompts. This makes prompt-driven music production practical, letting you create and manipulate live sessions programmatically.
How to use
Start by loading the Ableton MCP server alongside Ableton Live. Claude can then send commands to manipulate tracks, load instruments and effects, create clips, and control playback. You can ask Claude to create tracks, generate MIDI clips, fire clips, adjust tempo, and load sounds from Ableton’s library. The system supports two‑way communication over a socket, so you can monitor session state and trigger actions in real time.
To begin a session, ensure Ableton Live has the remote script loaded and the MCP server is running. Establish the connection from Claude’s MCP settings; once connected, you’ll see the Ableton MCP interface indicator. You can then issue natural language prompts to Claude like loading a drum rack, creating a MIDI track, or starting playback on a specific track.
How to install
Prerequisites you need on your workstation are Ableton Live 10 or newer, Python 3.8 or newer, and UV, the MCP runtime. If you’re on macOS, install UV with Homebrew. On other systems, install UV from its official source.
Configure Claude Desktop to load the MCP server with the runtime. Create or edit your claude_desktop_config.json to include the Ableton MCP server entry that points to the UV runtime and the ableton-mcp package.
Cursor integration allows you to run the MCP server without permanent installation by using UVX. Run the MCP server from Cursor or Claude Desktop, but do not run both instances at the same time.
Install the Ableton Remote Script to enable Ableton Live to receive commands from the MCP server. Follow these steps:
-
Download the AbletonMCP_Remote_Script/__init__.py file and place it into a folder named AbletonMCP inside Ableton Live’s MIDI Remote Scripts directory.
-
Locate Ableton’s Remote Scripts directory for your OS and Ableton version. Then create a folder named AbletonMCP inside that directory and paste the downloaded __init__.py file.
-
Launch Ableton Live.
-
Open Preferences > Link, Tempo & MIDI. In the Control Surface dropdown, select AbletonMCP and set Input and Output to None.
-
Ensure the MCP server is configured to run from UVX for Claude Desktop or Cursor, so the two can connect automatically when you interact with Claude.
If you want to start the MCP server on demand, use the UVX command from your environment, for example: uvx ableton-mcp.
Additional notes
The MCP system communicates over a simple protocol where Claude sends structured commands to control Ableton Live. You can create or modify MIDI and audio tracks, build MIDI clips with notes, load instruments and effects, and control playback and transport. Always save your work before performing extensive experiments.
If you encounter connection or timeout issues, verify that the Ableton Remote Script is loaded, the MCP server is configured in Claude, and try restarting both Claude and Ableton Live. Start with simpler prompts if you experience timeout problems.
Available tools
get_session_info
Retrieve current session details such as track list, tempo, and transport state to inform your next actions.
create_track
Create a new MIDI or audio track with specified name and type, ready to receive notes or audio data.
modify_track
Modify properties of an existing track, such as color, name, input routing, or device chain.
load_instrument
Load an instrument from Ableton's browser into a target track or device chain.
load_effect
Load an effect from Ableton's browser into a target device chain.
create_clip
Create or edit MIDI clips on a specified track, including adding notes and setting clip length.
trigger_clip
Fire or stop a MIDI clip to start playback on a given track.
control_transport
Control playback, stop, record, and cue transport states for the current Ableton session.
set_tempo
Change the session tempo to a specified BPM value.