Ableton MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ableton MCP list all tracks in my current Ableton session"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ableton MCP
MCP (Model Context Protocol) server for controlling Ableton Live. Query tracks, analyze sessions, and export stems via AI assistants like Claude.
macOS only - Uses AppleScript for GUI automation.
Features
Query Tools
test_connection- Verify Ableton Live and AbletonOSC are runninglist_tracks- List all tracks with optional clip countslist_groups- List all group/folder tracksget_track_info- Get detailed info about a specific trackfind_track- Search tracks by name
Control Tools
select_track_by_index- Select a track in Liveset_export_range- Set the loop/punch range for export
Export Tools (macOS only)
prepare_track_for_export- Select track and set range from clipsexport_selected_track- Trigger export via GUI automation
Related MCP server: Ableton MCP
Requirements
macOS (for export features)
Python 3.10+
Ableton Live 11+ with AbletonOSC installed
Accessibility permissions for Terminal/Python (for export)
Installation
1. Install AbletonOSC
cd ~/Downloads
git clone https://github.com/ideoforms/AbletonOSC.git
cp -r AbletonOSC ~/Music/Ableton/User\ Library/Remote\ Scripts/Then in Ableton Live:
Preferences > Link/Tempo/MIDI
Control Surface > Select "AbletonOSC"
2. Install ableton-mcp
cd ~/mcps/src/ableton-mcp
pip install -e .3. Configure Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ableton": {
"command": "python",
"args": ["-m", "server"],
"cwd": "/path/to/ableton-mcp"
}
}
}4. Grant Accessibility Permissions (for export)
System Preferences > Privacy & Security > Accessibility > Add Terminal (or your Python environment)
Usage Examples
"List all tracks in my Ableton session"
"Find tracks containing 'bass'"
"Prepare track 57 for export"
"Export the selected track"Architecture
┌─────────────┐ OSC ┌─────────────┐
│ MCP Server │ ───────────────▶ │ Ableton │
│ (FastMCP) │ ◀─────────────── │ Live │
└─────────────┘ port 11000 └─────────────┘
│
│ AppleScript (export only)
▼
┌─────────────┐
│ GUI Auto │
│ (macOS) │
└─────────────┘Limitations
Export is macOS only - Uses AppleScript for GUI automation
Export requires Accessibility permissions
AbletonOSC must be enabled each time Live starts
Credits
Uses AbletonOSC for Live communication
Built with FastMCP
License
MIT
Available Tools
9 toolsexport_selected_trackA
Export the currently selected track using GUI automation.
IMPORTANT: Requires Accessibility permissions for Terminal/Python.
macOS only.
Args:
output_folder: Where to save the exported file
Returns:
Status message
Inputs: output_folder. Returns: result
find_trackB
Find tracks by name (partial match).
Args:
name: Text to search for in track names
Returns:
List of matching tracks
Inputs: name (required). Returns: result
get_track_infoB
Get detailed information about a specific track.
Args:
track_index: The index of the track (0-based)
Returns:
Track details including name, type, mute status, and clips
Inputs: track_index (required). Returns: result
list_groupsA
List all group tracks (folders) in the current Live session.
Inputs: no named parameters. Returns: result
list_tracksC
List all tracks in the current Ableton Live session.
Args:
include_clips: If True, include clip count for each track
Returns:
Formatted list of tracks with their properties
Inputs: include_clips. Returns: result
prepare_track_for_exportA
Prepare a track for export by selecting it and setting the loop range
based on its audio clips.
Args:
track_index: The index of the track to prepare
Returns:
Status with range info, ready for export_selected_track
Inputs: track_index (required). Returns: result
select_track_by_indexB
Select a track in Ableton Live.
Args:
track_index: The index of the track to select (0-based)
Returns:
Confirmation message
Inputs: track_index (required). Returns: result
set_export_rangeC
Set the loop/punch range for export.
Args:
start_beats: Start position in beats
length_beats: Length in beats
Returns:
Confirmation with time info
Inputs: start_beats (required), length_beats (required). Returns: result
test_connectionA
Test if Ableton Live is running and AbletonOSC is enabled.
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools have distinct purposes, but there is some overlap between 'find_track' and 'list_tracks' that could cause confusion, as both involve retrieving track information. However, their specific functions (search vs. list all) are clarified in descriptions, preventing major misselection issues.
All tool names follow a consistent snake_case pattern with clear verb_noun structure, such as 'export_selected_track', 'find_track', and 'list_tracks'. This predictability makes it easy for agents to understand and use the toolset without naming confusion.
With 9 tools, the server is well-scoped for managing Ableton Live tracks, covering operations like listing, finding, selecting, preparing, and exporting. Each tool serves a specific role without unnecessary redundancy, making the count appropriate for the domain.
The toolset provides good coverage for track management and export workflows, including preparation and range setting. However, there are minor gaps, such as no tools for modifying track properties (e.g., mute, volume) or handling non-track elements like clips or effects, which agents might need to work around.
Maintenance
Related MCP Connectors
Compose, mix, master and export in Logic Pro, REAPER or Ableton Live by talking to an AI engineer.
Browser DAW for AI assistants: build multitrack songs with MIDI, effects, stems and generation.
Read and edit DAW projects as an agent, save native Logic projects, convert projects between DAWs
Veena is an AI DAW with a personal music producer built in. Make songs in your studio from chat.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Ableton Live to AI assistants through Model Context Protocol (MCP), enabling natural language control of music production tasks like track creation, MIDI editing, instrument loading, and playback control.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language control over Ableton Live for generating musical patterns, melodies, and full song arrangements. It also provides tools for sample searching and mixing assistance through an OSC-based connection with Claude Desktop.1MIT
- AlicenseNot gradedqualityDmaintenanceBridges AI assistants with Ableton Live, enabling real-time control, offline project analysis, version tracking, and rack/preset parsing for music production workflows.MIT
- AlicenseBqualityDmaintenanceEnables AI-powered music production in Ableton Live through natural language, with tools for composition, arrangement, mixing, and sound design.52MIT