██╗ ██╗██╗ ██╗███████╗██████╗ ██╗██╗ ██████╗ ████████╗
██║ ██║██║ ██║██╔════╝██╔══██╗██║██║ ██╔═══██╗╚══██╔══╝
██║ ██║██║ ██║█████╗ ██████╔╝██║██║ ██║ ██║ ██║
██║ ██║╚██╗ ██╔╝██╔══╝ ██╔═══╝ ██║██║ ██║ ██║ ██║
███████╗██║ ╚████╔╝ ███████╗██║ ██║███████╗╚██████╔╝ ██║
╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝
AI copilot for Ableton Live 12 — 91 MCP tools for real-time music production, sound design, and mixing.
Control your entire Ableton session through natural language. Create tracks, program MIDI, load instruments, tweak parameters, arrange songs, and mix — all without leaving the keyboard.
What You Can Do
- Produce — Create tracks, load instruments, program drum patterns, bass lines, chord progressions, and melodies
- Arrange — Build full song structures in arrangement view with MIDI note editing, cue points, and timeline navigation
- Design sounds — Browse Ableton's library, load presets, tweak device parameters, chain effects
- Mix — Set levels, panning, sends, and routing. Run diagnostics to catch silent tracks and mute leftovers
- Iterate fast — Transpose, humanize, quantize, duplicate, and reshape patterns through conversation
Quick Start
1. Install the Remote Script
npx -y github:dreamrec/LivePilot --install
2. Enable in Ableton
Restart Ableton Live, then go to Preferences > Link, Tempo & MIDI > Control Surface and select LivePilot.
3. Add to your MCP client
Claude Codeclaude mcp add LivePilot -- npx -y github:dreamrec/LivePilot
Or add to .mcp.json:
{
"mcpServers": {
"LivePilot": {
"command": "npx",
"args": ["-y", "github:dreamrec/LivePilot"]
}
}
}
Optional: Install the Claude Code plugin for skills, slash commands, and the producer agent:
claude plugin add github:dreamrec/LivePilot/plugin
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"LivePilot": {
"command": "npx",
"args": ["-y", "github:dreamrec/LivePilot"]
}
}
}
Restart Claude Desktop after saving.
CursorOpen Cursor Settings > MCP Servers > Add Server, then use:
- Name: LivePilot
- Command:
npx -y github:dreamrec/LivePilot
Or add to .cursor/mcp.json:
{
"mcpServers": {
"LivePilot": {
"command": "npx",
"args": ["-y", "github:dreamrec/LivePilot"]
}
}
}
VS Code (Copilot)
Add to .vscode/mcp.json:
{
"servers": {
"LivePilot": {
"command": "npx",
"args": ["-y", "github:dreamrec/LivePilot"]
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"LivePilot": {
"command": "npx",
"args": ["-y", "github:dreamrec/LivePilot"]
}
}
}
4. Verify connection
npx -y github:dreamrec/LivePilot --status
91 Tools Across 9 Domains
| Domain | Tools | What you can do |
|---|---|---|
| Transport | 12 | Play/stop, tempo, time signature, loop, undo/redo, metronome, diagnostics |
| Tracks | 12 | Create MIDI/audio/return tracks, name, color, mute, solo, arm |
| Clips | 10 | Create, delete, duplicate, fire, stop, loop settings, launch mode |
| Notes | 8 | Add/get/remove/modify MIDI notes, transpose, quantize, duplicate |
| Devices | 12 | Load instruments & effects, tweak parameters, rack chains, presets |
| Scenes | 6 | Create, delete, duplicate, fire, rename |
| Mixing | 8 | Volume, pan, sends, routing, return tracks, master |
| Browser | 4 | Search Ableton's library, browse categories, load presets |
| Arrangement | 19 | Create clips, full MIDI note CRUD, cue points, recording, automation |
Transport (12)
get_session_info · set_tempo · set_time_signature · start_playback · stop_playback · continue_playback · toggle_metronome · set_session_loop · undo · redo · get_recent_actions · get_session_diagnostics
Tracks (12)
get_track_info · create_midi_track · create_audio_track · create_return_track · delete_track · duplicate_track · set_track_name · set_track_color · set_track_mute · set_track_solo · set_track_arm · stop_track_clips
Clips (10)
get_clip_info · create_clip · delete_clip · duplicate_clip · fire_clip · stop_clip · set_clip_name · set_clip_color · set_clip_loop · set_clip_launch
Notes (8)
add_notes · get_notes · remove_notes · remove_notes_by_id · modify_notes · duplicate_notes · transpose_notes · quantize_clip
Devices (12)
get_device_info · get_device_parameters · set_device_parameter · batch_set_parameters · toggle_device · delete_device · load_device_by_uri · find_and_load_device · get_rack_chains · set_simpler_playback_mode · set_chain_volume · get_device_presets
Scenes (6)
get_scenes_info · create_scene · delete_scene · duplicate_scene · fire_scene · set_scene_name
Mixing (8)
set_track_volume · set_track_pan · set_track_send · get_return_tracks · get_master_track · set_master_volume · get_track_routing · set_track_routing
Browser (4)
get_browser_tree · get_browser_items · search_browser · load_browser_item
Arrangement (19)
get_arrangement_clips · create_arrangement_clip · add_arrangement_notes · get_arrangement_notes · remove_arrangement_notes · remove_arrangement_notes_by_id · modify_arrangement_notes · duplicate_arrangement_notes · transpose_arrangement_notes · set_arrangement_clip_name · set_arrangement_automation · back_to_arranger · jump_to_time · capture_midi · start_recording · stop_recording · get_cue_points · jump_to_cue · toggle_cue_point
Claude Code Plugin
The plugin adds production-focused skills, slash commands, and an autonomous producer agent.
| Command | Description |
|---|---|
/session |
Full session overview with diagnostics |
/beat |
Guided beat creation — genre, tempo, instrumentation |
/mix |
Mixing assistant — levels, panning, sends |
/sounddesign |
Sound design workflow — instruments, effects, presets |
Producer Agent — An autonomous agent that builds tracks from high-level descriptions like "Make me a 126 BPM rominimal track in D minor with hypnotic percussion".
Architecture
Claude / AI Client
│ MCP Protocol (stdio)
▼
┌─────────────────────┐
│ MCP Server │ Python (FastMCP)
│ mcp_server/ │ Input validation, auto-reconnect
└────────┬────────────┘
│ JSON over TCP (port 9878)
▼
┌─────────────────────┐
│ Remote Script │ Runs inside Ableton's Python
│ remote_script/ │ Thread-safe command queue
│ LivePilot/ │ ControlSurface base class
└─────────────────────┘
Single-client TCP connection by design — Ableton's Live Object Model is not thread-safe.
Compatibility
| Live 12 (all editions) | Suite only | |
|---|---|---|
| Transport, tracks, clips, scenes, mixing | Yes | — |
| MIDI notes (add, modify, remove, probability) | Yes | — |
| Device parameters, effects, browser | Yes | — |
| Arrangement (clips, notes, cue points) | Yes | — |
| Stock instruments (Drift, Meld, Wavetable) | — | Yes |
| Max for Live devices | — | Yes |
| Third-party VST/AU plugins | Yes | — |
Requirements: Ableton Live 12 · Python 3.10+ · Node.js 18+
CLI
npx livepilot # Start MCP server (stdio)
npx livepilot --install # Install Remote Script
npx livepilot --uninstall # Remove Remote Script
npx livepilot --status # Check Ableton connection
npx livepilot --doctor # Full diagnostic check
npx livepilot --version # Show version
Documentation
Read the full manual — Getting started, tool reference, production workflows, MIDI programming, sound design, mixing, and troubleshooting.
Development
git clone https://github.com/dreamrec/LivePilot.git
cd LivePilot
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/pytest tests/ -v
Contributing
Contributions welcome. Please open an issue first to discuss what you'd like to change.
License
MIT — Pilot Studio