AbletonMCP
Connects Claude AI to Ableton Live through the Model Context Protocol, enabling prompt-assisted music production with track creation, instrument loading, clip editing, and session control. Allows users to create complete musical arrangements by describing what they want in natural language.
README
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
git clone https://github.com/Milesy1/MCP-Ableton-API.git
cd MCP-Ableton-API
Step 2: Install Dependencies
# Install using pip
pip install -e .
# Or install dependencies directly
pip install mcp[cli]>=1.3.0
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
AbletonMCP -
Copy
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
AbletonMCP -
Copy
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:
{
"mcpServers": {
"AbletonMCP": {
"command": "python",
"args": ["C:\\path\\to\\your\\MCP-Ableton-API\\MCP_Server\\server.py"]
}
}
}
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
"Create a new MIDI track with a synth bass instrument"
"Add an audio track for vocals"
"Set track 1 to arm for recording"
Mixing and Effects
"Set the volume of track 2 to 80%"
"Pan track 3 to the left (-0.5)"
"Add reverb to track 1 with 30% wet signal"
"Set the master volume to 85%"
MIDI Programming
"Create a 4-bar MIDI clip in track 1"
"Add a C major chord progression to the clip"
"Create a drum pattern with kick on 1 and 3, snare on 2 and 4"
Scene Management
"Create a new scene called 'Verse'"
"Fire scene 2"
"Delete the last scene"
Advanced Composition
"Create a Metro Boomin style hip-hop beat with 808s and hi-hats"
"Build an 80s synthwave track with arpeggiated bass"
"Create a jazz chord progression in track 1"
🔧 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
MCP-Ableton-API/
├── AbletonMCP_Remote_Script/ # Ableton Live Remote Script
│ └── __init__.py
├── MCP_Server/ # MCP Server Implementation
│ └── server.py
├── pyproject.toml # Project Configuration
├── README.md # This File
├── LICENSE # MIT License
├── Dockerfile # Container Configuration
└── smithery.yaml # Smithery Configuration
Adding New Tools
- Add command handler in
AbletonMCP_Remote_Script/__init__.py - Add tool endpoint in
MCP_Server/server.py - Update command routing in the Remote Script
- Test and document the new functionality
Testing
# Test MCP server
python -m MCP_Server.server
# Test socket communication
python create_midi.py
🤝 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!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.