AbletonMCP
A powerful MCP server that enables Claude Desktop to control Ableton Live for automated music production, specializing in techno and industrial music generation.
README
AbletonMCP - AI Music Assistant for Ableton Live
A powerful MCP (Model Context Protocol) server that enables Claude Desktop to control Ableton Live for automated music production, specializing in techno and industrial music generation.
Features
- Natural Language Music Production: Create complete tracks from text prompts
- Genre-Specific AI: Specialized in techno and industrial music styles
- Real-time Ableton Control: Full integration with Ableton Live via OSC
- Intelligent Composition: AI-powered melody, harmony, and rhythm generation
- Professional Transport Control: Play, stop, tempo control, and project management
Prerequisites
- Python 3.10 or higher
- Ableton Live 11 Suite (or higher)
- Claude Desktop application
- At least 4GB RAM for music production
Step-by-Step Setup Guide
Step 1: Install Python Dependencies
# Navigate to the project directory
cd AbletonMCP
# Install required packages
pip install -r requirements.txt
Step 2: Install AbletonOSC Remote Script
Run the automated installer:
python install_ableton_osc.py
If the automated installer fails, install manually:
- Download AbletonOSC: https://github.com/ideoforms/AbletonOSC/archive/refs/heads/main.zip
- Extract the ZIP file
- Copy the
AbletonOSC-mainfolder to your Ableton Remote Scripts directory:- macOS:
~/Music/Ableton/User Library/Remote Scripts/ - Windows:
%USERPROFILE%/Documents/Ableton/User Library/Remote Scripts/ - Linux:
~/ableton/User Library/Remote Scripts/
- macOS:
- Rename the folder from
AbletonOSC-maintoAbletonOSC
Step 3: Configure Ableton Live 11 Suite
- Open Ableton Live 11 Suite
- Go to Live → Preferences (macOS) or Options → Preferences (Windows)
- Click on the Link/Tempo/MIDI tab
- In the Control Surface section:
- Set the first dropdown to "AbletonOSC"
- Leave Input and Output set to "None"
- Click OK to save settings
- Restart Ableton Live completely
Step 4: Test Your Setup
Test AI Composition (No Live Required):
# Test the AI composition engine offline
python examples/offline_demo.py
Test Full System (Requires Live Running):
# Run the comprehensive test suite
python test_server.py
You should see:
- ✅ Project Structure test passed
- ✅ Composition Handler test passed
- ✅ OSC Connection test passed (requires Live to be running)
- ✅ MCP Tools test passed
If OSC tests fail:
- Make sure Ableton Live 11 Suite is running
- Verify AbletonOSC is selected in Live's MIDI preferences
- Check that ports 11000/11001 aren't blocked by firewall
- The offline demo should still work perfectly!
Step 5: Start the MCP Server
python -m mcp_server.main
You should see output like:
🎵 Starting AbletonMCP Server...
✅ AbletonTools connected successfully
INFO: MCP Server listening on stdio...
Keep this terminal window open - the server needs to run continuously.
Step 6: Configure Claude Desktop
-
Quit Claude Desktop completely if it's running
-
Open your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- macOS:
-
Find your Python executable path:
which python
This will show the full path to your Python installation (e.g., /Users/yourname/anaconda3/bin/python or /opt/homebrew/bin/python3).
- Create or edit the claude_desktop_config.json file with this content:
{
"mcpServers": {
"ableton-mcp": {
"command": "/full/path/to/your/python",
"args": ["-m", "mcp_server.main"],
"cwd": "/full/path/to/your/AbletonMCP",
"env": {
"PYTHONPATH": "/full/path/to/your/AbletonMCP"
}
}
}
}
Important:
- Replace
/full/path/to/your/pythonwith the result fromwhich pythoncommand - Replace
/full/path/to/your/AbletonMCPwith the actual full path to your AbletonMCP project directory (appears twice) - The
PYTHONPATHenvironment variable is crucial for Python to find the mcp_server module - Use absolute paths, not relative paths like
pythonor~/
- Save the file and restart Claude Desktop
Step 7: Verify Connection in Claude Desktop
- Open Claude Desktop
- Start a new conversation
- You should see "AbletonMCP" listed in the server connections at the bottom
- If it shows as connected, you're ready to make music!
Example Prompts - Test All Features
Basic Transport Control
Try these prompts in Claude Desktop:
1. Test Connection
Ping Ableton Live to test the connection
2. Tempo Control
Set the tempo to 132 BPM
3. Transport Control
Start playback
Stop playback after 8 seconds
Track Management
4. Create Basic Tracks
Create a MIDI track called "Kick Drum"
Create a MIDI track called "Bass Synth"
Create an audio track called "Percussion"
Create a return track called "Industrial Reverb"
AI Music Generation
5. Generate Chord Progressions
Generate a chord progression in A minor for industrial techno, 8 bars long
Generate a chord progression in D minor for minimal techno, 4 bars
6. Create Drum Patterns
Create an industrial drum pattern for 4 bars
7. Complete Song Generation
Create a 64-bar industrial techno song at 132 BPM in A minor
Advanced Features
8. Project Information
Get information about the current Ableton Live session
9. Tempo Variations
Set tempo to 128 BPM for underground techno
Set tempo to 140 BPM for hard techno
Complex Compositions
10. Full Production Workflow
Create a complete techno track: Set tempo to 132 BPM, create kick, bass, lead, and percussion tracks, then generate an industrial techno song structure for 64 bars in A minor. Add atmospheric elements and start playback to preview.
Expected Results in Ableton Live
When you run these prompts, you should see:
- Transport changes: BPM adjustments, play/stop states
- New tracks appearing: Named tracks in the Session View
- MIDI clips generated: Containing chord progressions and patterns
- Console feedback: Success messages in both Claude and the MCP server terminal
Troubleshooting
"Could not connect to Ableton Live"
- ✅ Ensure Ableton Live is running
- ✅ Verify AbletonOSC is installed and enabled
- ✅ Check Live's MIDI preferences show "AbletonOSC" selected
- ✅ Restart both Live and the MCP server
"MCP Server not found in Claude Desktop"
- ✅ Check the config.json path is correct for your OS
- ✅ Verify the "cwd" path points to your AbletonMCP directory
- ✅ Make sure to restart Claude Desktop after config changes
- ✅ Check Claude Desktop's console for error messages
"Permission denied" or import errors
- ✅ Run
pip install -r requirements.txt - ✅ Use Python 3.10 or higher
- ✅ Consider using a virtual environment
Music generation not working as expected
- ✅ This is Phase 1 - basic functionality
- ✅ Try different musical keys (Am, Dm, Em, Gm)
- ✅ Experiment with different BPM ranges (120-150)
- ✅ Use genre keywords: "industrial", "minimal", "underground"
Next Steps
Once everything is working:
- Experiment with different musical styles and BPMs
- Combine prompts for complex arrangements
- Use Live's tools to further refine the AI-generated content
- Save your projects in Ableton Live as usual
What's Working in Phase 1
✅ Transport Control - Play/stop, tempo setting
✅ Track Creation - MIDI, audio, and return tracks
✅ AI Chord Progressions - Genre-specific harmony generation
✅ Basic Song Structures - Multi-section arrangements
✅ OSC Communication - Real-time Live control
✅ Music Theory Integration - Coherent musical output
Project Structure
mcp_server/- MCP server implementationableton_control/- OSC and Ableton Live API wrappermusic_ai/- AI composition and generation engineaudio_processing/- Audio analysis and processing toolsknowledge_base/- Music theory and genre-specific datasamples/- Audio content librarytests/- Test suite
Development
Install development dependencies:
pip install -r requirements.txt
Run tests:
pytest
Format code:
black . && isort .
License
MIT License - see LICENSE file for details.
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.