This server enables AI-powered control of Ableton Live through the Model Context Protocol, providing comprehensive music production capabilities:
Session Management - Get session info, control playback (start/stop), and set tempo in real-time
Track Operations - Create MIDI tracks, rename tracks, and retrieve detailed track information including status and properties
MIDI Clip Programming - Create clips with custom lengths, add notes with specific pitch/timing/velocity/mute parameters, name clips, and control clip playback (fire/stop)
Device & Content Loading - Load instruments and effects via URI, load drum kits with specific rack configurations, and browse Ableton's library by category or path to discover available instruments, effects, and samples
All operations are accessible through natural language, enabling AI-assisted workflows from track creation to complex MIDI programming and device configuration.
AbletonMCP - Advanced Ableton Live Model Context Protocol Integration
AbletonMCP connects Ableton Live to Claude AI through the Model Context Protocol (MCP), enabling comprehensive AI-assisted music production, track creation, and Live session manipulation with 37 powerful tools.
šµ Features
Session Management
Session Information: Get detailed session data including tempo, time signature, track counts
Playback Control: Start/stop playback with precision
Tempo Control: Adjust session tempo in real-time
Track Management
Track Creation: Create MIDI and audio tracks
Track Operations: Delete, duplicate, and rename tracks
Track Control: Arm/disarm for recording, mute/solo functionality
Track Information: Get detailed track information and status
Mixing & Audio Controls
Volume Control: Adjust individual track volumes
Panning Control: Set track panning positions
Send Levels: Control send effects and returns
Audio Routing: Manage track routing and sends
Clip Management
Clip Creation: Create MIDI clips with custom lengths
Note Programming: Add MIDI notes with pitch, timing, velocity, and mute control
Clip Operations: Copy, delete, and manipulate clips
Scene Management
Scene Control: Fire scenes for live performance
Scene Creation: Create and delete scenes
Scene Organization: Manage scene structure
Recording
Recording Control: Start and stop recording
Track Arm: Arm tracks for recording
Recording Management: Handle recording states
Device Management
Device Loading: Add instruments and effects
Parameter Control: Adjust device parameters
Device Management: Remove devices, activate/deactivate
Parameter Discovery: Get device parameter information
šļø Architecture
The system consists of two main components:
1. Ableton Remote Script (AbletonMCP_Remote_Script/__init__.py)
A MIDI Remote Script that runs inside Ableton Live, creating a socket server to receive and execute commands from the MCP server.
Key Features:
Socket-based communication (localhost:9877)
Thread-safe command processing
Comprehensive error handling
Real-time Ableton Live API integration
2. MCP Server (MCP_Server/server.py)
A Python server implementing the Model Context Protocol, connecting to the Ableton Remote Script and exposing 37 tools to Claude AI.
Key Features:
FastMCP implementation
Comprehensive tool set
Robust error handling
Real-time communication
š Prerequisites
Ableton Live 10 or newer (tested with Live 12.3b9)
Python 3.8 or newer
Claude Desktop with MCP support
Windows/macOS/Linux support
š Installation
Step 1: Clone the Repository
Step 2: Install Dependencies
Step 3: Install the Ableton Remote Script
Windows:
Navigate to one of these locations:
C:\Users\[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote ScriptsC:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\
Create a folder called
AbletonMCPCopy
AbletonMCP_Remote_Script/__init__.pyinto theAbletonMCPfolder
macOS:
Navigate to one of these locations:
Applications > Right-click Ableton Live > Show Package Contents > Contents/App-Resources/MIDI Remote Scripts//Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts
Create a folder called
AbletonMCPCopy
AbletonMCP_Remote_Script/__init__.pyinto theAbletonMCPfolder
Step 4: Configure Ableton Live
Launch Ableton Live
Go to Settings/Preferences ā Link, Tempo & MIDI
In the Control Surface dropdown, select "AbletonMCP"
Set Input and Output to "None"
Step 5: Configure Claude Desktop
Open Claude Desktop
Go to Settings ā Developer ā Edit Config
Edit
claude_desktop_config.json:
Note: Replace the path with your actual installation path.
šļø Available Tools
Session Tools
get_session_info- Get detailed session informationset_tempo- Change session tempostart_playback- Start playbackstop_playback- Stop playback
Track Tools
create_midi_track- Create MIDI trackscreate_audio_track- Create audio tracksdelete_track- Delete tracksduplicate_track- Duplicate tracksset_track_name- Rename tracksget_track_info- Get track detailsset_track_arm- Arm/disarm tracksset_track_mute- Mute/unmute tracksset_track_solo- Solo/unsolo tracks
Mixing Tools
set_track_volume- Adjust track volumesset_track_panning- Control track panningset_track_send- Adjust send levels
Clip Tools
create_clip- Create MIDI clipsadd_notes_to_clip- Add MIDI notescopy_clip- Copy clipsdelete_clip- Delete clips
Scene Tools
fire_scene- Trigger scenescreate_scene- Create scenesdelete_scene- Delete scenes
Recording Tools
start_recording- Start recordingstop_recording- Stop recording
Device Tools
add_device- Add instruments/effectsremove_device- Remove devicesset_device_parameter- Adjust device parametersset_device_active- Enable/disable devicesget_device_parameters- Get device parameter info
šµ Usage Examples
Basic Track Creation
Mixing and Effects
MIDI Programming
Scene Management
Advanced Composition
š§ Troubleshooting
Connection Issues
Ensure Ableton Live is running with the AbletonMCP control surface selected
Check that the MCP server path in Claude Desktop config is correct
Verify Python dependencies are installed
Tool Not Available
Restart Claude Desktop after configuration changes
Clear Claude Desktop cache if tools don't appear
Check MCP server logs for errors
Timeout Errors
Break complex requests into smaller steps
Ensure Ableton Live is responsive
Check socket connection (localhost:9877)
Performance Issues
Close unnecessary Ableton Live tracks
Avoid simultaneous complex operations
Monitor system resources
šļø Development
Project Structure
Adding New Tools
Add command handler in
AbletonMCP_Remote_Script/__init__.pyAdd tool endpoint in
MCP_Server/server.pyUpdate command routing in the Remote Script
Test and document the new functionality
Testing
š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
Code Style
Follow PEP 8 for Python code
Add comprehensive docstrings
Include error handling
Update documentation
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgments
Ableton for the amazing Live software and API
Anthropic for Claude AI and MCP protocol
MCP Community for the Model Context Protocol
Contributors who help improve this project
š Links
š Support
If you encounter any issues or have questions:
Check the troubleshooting section
Search existing GitHub Issues
Create a new issue with detailed information
Join the discussion in the community
Made with ā¤ļø for the music production community
Transform your Ableton Live workflow with AI-powered assistance!