Ableton MCP Server

io.github.ntwormv0.7.0更新於 Oct 11, 2026

Inspect, analyze, and safely edit a running Ableton Live Set on Windows; 97 tools.

概覽

AI 產生的概覽

讓助理透過 97 個工具檢查、分析並安全編輯 Windows 上執行中的 Ableton Live 12 專案,涵蓋播放控制、軌道、裝置、片段、混音分析與離線 groove 生成。

功能
提供 97 個工具,分為播放與工作階段控制(get_session_info、set_tempo、start_playback、fire_clip)、軌道與裝置(get_track_list、live_find_track、get_device_list、set_parameter_value、create_clip、add_notes_to_clip、delete_clip)、生命週期與自動化(save_set、quit_ableton、create_clip_automation)、離線混音分析(analyze_audio、find_frequency_masking、analyze_mix)、Groove Intelligence(groove_search、groove_evidence、groove_generate、groove_compare、groove_apply)以及檢查與批次執行(run_batch、get_locators、get_ableton_logs)。它會寫入 Live 的本機通訊端,並在回傳結果前驗證物件模型狀態,也會回傳結構化錯誤碼,例如 CAPABILITY_UNAVAILABLE、AMBIGUOUS_MATCH 與 VERIFICATION_FAILED。Groove 的檢索、證據、生成與比較都在離線進行,只有受保護的 groove_apply 會寫入 Live。
適用情境
當你希望 AI 助理查詢並驅動 Windows 上執行中的 Ableton Live 12 工作階段時使用:讀取工作階段與軌道狀態,調整速度、參數與顏色,建立或編輯 MIDI 片段,執行分組批次編輯,離線分析混音,或生成並比較 groove 後再套用其中一個。它面向在本機工作的製作人與音訊開發者,不適合雲端或無介面環境。在依賴軌道索引、run_batch 或 TCP 回送連線 Live 之前,請先閱讀已知問題摘要。
執行需求
僅支援 Windows 桌面;以本機 stdio 程序由 MCP 用戶端啟動。需要 Ableton Live 12、Python 環境(安裝指令碼會建立 .venv-win),並把隨附的 Remote Script 安裝到 Ableton 的 User Library,然後在 Preferences -> Link, Tempo & MIDI -> Control Surfaces 中選擇 AbletonMCPServer。伺服器透過 TCP 127.0.0.1:9888 與 Remote Script 通訊,並透過 WebSocket 127.0.0.1:9889 與 Extension Host 橋接通訊。.mcpb 套件在首次啟動時需要 uv 與網路存取。未宣告驗證、環境變數或標頭。
安裝前請注意
它可以寫入並修改你的 Live Set:相關工具會建立與刪除片段、加入音符、設定參數、顏色、warp 狀態、儲存專案以及結束 Ableton;run_batch 會把多個指令合併成一個復原步驟,若後續指令失敗,前面已成功的部分仍會保留。Groove 功能中只有 groove_apply 會改動 Live,且必須先針對明確的目標與空槽位預覽,再提交一次。關於軌道索引、run_batch 與 TCP 回送的已知陷阱已有文件說明,建議先閱讀。未宣告任何 API 金鑰或雲端端點。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Ableton MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ableton-mcp-server

:globe_with_meridians: Live Landing Page & Interactive 97-Tool Catalog · Architecture Diagram · Agent Playbook · Tool Index

An open Model Context Protocol (MCP) server that enables AI agents (Antigravity, Gemini, Codex) and audio developers to query, analyze, drive, and automate a running Ableton Live 12 Set.

The current tool surface is 97 tools over TCP, WebSockets, composed routes, and local execution (with primary device resolution via device_name, track_index, and clip_index); the current v0.7.0 release ships 97 tools. Historical milestones exposed 65 certified tools in v0.5.2 , 88 tools in the v0.5.6 source milestone , and 96 tools in the v0.6.0 release . v0.7.0 adds plan_user_journey, an updated retrieval seed v3 with per-collection SD3/GM articulation mapping, and a dedicated UDP realtime control channel. Groove retrieval, evidence, generation, and comparison stay offline; only the guarded apply path reaches Live. A FastMCP server in Python communicates with a MIDI Remote Script on TCP 127.0.0.1:9888 and an Extension Host bridge over WebSockets on 127.0.0.1:9889.

Groove Intelligence is offline by default. Its deterministic generator needs no provider installation; an optional neural provider is isolated behind a fixed allowlist, bounded local IPC, resource limits, and signed laboratory gates. Provider failures always return the equivalent deterministic artifact, and no provider receives corpus paths, raw MIDI, notes, SQL, credentials, or network access. See the provider laboratory contract. The curated seed ships inside the wheel; ABLETON_GROOVE_SEED_BUNDLE can override it explicitly, while derived artifacts stay in LocalAppData. Groove retrieval, evidence, comparison, and deterministic generation are portable and do not depend on the private source library. A generation request can use one primary groove plus up to seven references; incompatible PPQ, meter, or rights are rejected explicitly. Within the Groove Intelligence surface, the only Live mutation is guarded groove_apply, which must be previewed against an explicit target and empty slot before one commit.


⚡ What is Model Context Protocol (MCP) & How Agents Use It

Model Context Protocol (MCP) is an open standard for secure, local communication between Large Language Models (LLMs) and desktop applications.

Local IPC / stdio (Not a Cloud Service):
ableton-mcp-server runs locally on your host OS over standard input/output (stdio) or IPC loopback. The AI agent spawns the ableton-mcp-server.exe process directly. There are no external cloud endpoints or API keys required, guaranteeing zero network latency and maximum privacy.

How AI Agents Interact with Ableton Live:

  1. Tool Discovery (tools/list): When an MCP client (Antigravity, Cursor, Windsurf) launches the server, it automatically discovers all 97 tool schemas .
  2. Tool Execution (tools/call): When the LLM decides to manipulate Ableton Live, it issues JSON-RPC messages (e.g. set_tempo(tempo=128.0) or create_clip(...)).
  3. Write-Then-Verify Loop: The server writes to Live's local socket and verifies object model state before returning a result.
  4. Self-Correcting Error Taxonomy: If an error occurs, the server returns structured codes (CAPABILITY_UNAVAILABLE, AMBIGUOUS_MATCH, VERIFICATION_FAILED), enabling the agent to reason and adapt.

Recommended System Prompt for AI Agents:

text
You have direct access to an active Ableton Live Set via ableton-mcp-server (97 tools) <!-- TOOL_COUNT: active_total -->.1. Always start by inspecting the project state using `get_session_overview()` or `get_track_list()`.2. To modify track properties, resolve the target track index using `live_find_track(name_pattern)` first.3. For parameter adjustments, query parameters via `get_device_list()` and `get_parameter_value()`, then apply changes using `set_parameter_value()`.4. When executing multiple operations, bundle them using `run_batch(commands)` for one grouped undo step; a successful prefix persists if a later command fails.5. Respect the error taxonomy: if you receive `AMBIGUOUS_MATCH` or `VERIFICATION_FAILED`, inspect track context and retry.

🛠️ Use It

License is MIT. Copy, fork, ship — see LICENSE.

Windows Install (one-shot):

powershell
powershell -ExecutionPolicy Bypass -File .\scripts\setup_windows.ps1

Preview the exact Remote Script copy plan without creating .venv-win, installing dependencies, or writing to Ableton's User Library:

powershell
powershell -ExecutionPolicy Bypass -File .\scripts\setup_windows.ps1 -DryRun

If the environment already exists, the equivalent CLI preview is:

powershell
.\.venv-win\Scripts\ableton-mcp.exe install-script --dry-run

Then restart Live, select AbletonMCPServer under Preferences -> Link, Tempo & MIDI -> Control Surfaces, and verify the installation:

powershell
.\.venv-win\Scripts\ableton-mcp.exe doctor --json

Verify Install

You can verify your installation integrity using either the built-in CLI tool or direct SHA-256 hash comparison:

1. CLI Remote Script Status

Run install-status to compare installed Remote Script files against the bundled source:

powershell
.\.venv-win\Scripts\ableton-mcp.exe install-status --json

A healthy, up-to-date installation returns "status": "current":

json
{  "status": "current",  "source": "C:\\path\\to\\ableton-mcp-server\\AbletonMCPServer_RemoteScript",  "target": "C:\\Users\\<user>\\Documents\\Ableton\\User Library\\Remote Scripts\\AbletonMCPServer_RemoteScript",  "missing_files": [],  "mismatched_files": []}
2. SHA-256 Checksum Audit

During setup, setup_windows.ps1 automatically verifies and prints the Remote Script's SHA-256 hash:

text
Remote Script verification:  algorithm: SHA256  hash: 3E3504D661FA2DCE7582F50C56F0C71EB79892F7A4520BD3F1B8571EEDBB14DE  path: C:\Users\<user>\Documents\Ableton\User Library\Remote Scripts\AbletonMCPServer_RemoteScript\__init__.py

To manually compute and verify the SHA-256 checksum of the installed __init__.py at any time:

  • Windows (PowerShell):
    powershell
    Get-FileHash "$HOME\Documents\Ableton\User Library\Remote Scripts\AbletonMCPServer_RemoteScript\__init__.py" -Algorithm SHA256
  • macOS / Linux:
    bash
    shasum -a 256 "$HOME/Music/Ableton/User Library/Remote Scripts/AbletonMCPServer_RemoteScript/__init__.py"

Agent Configuration (mcp.json):

json
{  "mcpServers": {    "ableton": {      "command": "C:\\path\\to\\ableton-mcp-server\\.venv-win\\Scripts\\ableton-mcp-server.exe",      "args": []    }  }}

If you operate from WSL2, point the MCP client at the Windows binary so loopback stays in the host network namespace:

text
/path/to/ableton-mcp-server/.venv-win/Scripts/ableton-mcp-server.exe

MCP Bundle (.mcpb)

scripts/build_mcpb.py packs the server as an MCP Bundle for Windows. The bundle carries the wheel and a locked launcher project; on first launch the host's uv installs Python and the dependencies from PyPI. It contains the server only, so the Remote Script and the Extension still install as described above.

powershell
.\.venv-win\Scripts\python.exe scripts\build_mcpb.py build --out-dir dist\mcpb.\.venv-win\Scripts\python.exe scripts\build_mcpb.py smoke dist\mcpb\ableton-mcp-server-<version>.mcpb

build needs uv, Node.js (npx runs the pinned @anthropic-ai/mcpb CLI), and network access. smoke extracts the bundle, launches it over stdio, and checks initialize, tools/list against the catalog, and one offline tool, without Ableton Live.


📦 What It Does (97 MCP Tools)

v0.6.0 extends the certified 65-tool v0.5.2 baseline . v0.5.3 introduced colour writes, clip-target diagnostics, and five hierarchy tools that validate then return CAPABILITY_UNAVAILABLE; v0.6.0 adds offline music generation, Groove retrieval, and guarded apply. See the offline music reference.

The 97 MCP tools are grouped into operational domains :

  • Transport & Session: get_session_info, set_tempo, start_playback, stop_playback, get_loop_settings, set_loop, set_loop_start, set_loop_length, set_current_song_time, get_song_length, get_session_overview, get_scenes, get_scene_state, fire_scene, fire_clip.
  • Tracks & Devices: get_track_list, live_find_track, live_find_device, live_find_clip, get_track_state, get_device_list, list_device_params, get_parameter_value, get_plugin_presets, set_plugin_preset, get_clip_summary, set_parameter_value, create_clip, get_clip_notes, add_notes_to_clip, delete_clip, clear_clip_notes, set_clip_properties, get_clip_info, set_track_property, set_track_color, set_clip_color, diagnose_clip_targets, create_midi_track, create_audio_track, rename_track, move_track, reorder_tracks, move_track_to_group, ungroup_track, merge_groups, get_routing, diff_snapshots_tool, take_snapshot, get_selected_context, get_composition_structure, diagnose_midi_clip, search_browser, load_device_to_track, get_warp_state, set_warp_state.
  • Lifecycle & Automation: lifecycle_status, save_set, quit_ableton, live_fade, create_clip_automation.
  • Offline Mix Analysis: analyze_audio, find_frequency_masking, analyze_mix, extract_single_cycle (LUFS-I, True Peak, dynamic range, spectral collision).
  • Groove Intelligence (offline by default): groove_search, groove_evidence, groove_generate, groove_compare, groove_apply (genre/subgenre/style/section taxonomy, V2 projections, deterministic multi-parent generation, late kit mapping, and one guarded Live commit).
  • Inspection & Batch Execution: run_batch, get_locators, create_cue_point, delete_cue_point, bulk_create_cue_points, get_control_surfaces, get_browser_categories, get_project_metadata, get_ableton_logs, get_bridge_status.

Offline Music Generation

InventoryToolsLive boundary
Deterministic music generationmusic_generate_drum_groove, music_generate_bass, music_plan_productionOffline by default; only an explicit apply request reaches Live.

💡 Inspiration & Prior Art

This project builds on design insights from seminal open-source projects:

Full notes in docs/INSPIRATION.md.


⚠️ Known Bugs

Live's Object Model exposes a number of traps (path-id drift, undo semantics, WSL loopback, protocol drift, allowlist surprises) that an AI agent can hit without warning. Each one has a known workaround in the codebase; every trap is documented in docs/KNOWN_BUGS.md. Read the executive summary at the top of that file before relying on track indexes, run_batch, or a TCP loopback to Live.


📜 License

MIT — Copyright (c) 2026 Gabriel Worm (ntworm). See LICENSE.

來源:README.md,提交 d7ecfdf

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.7.0最新Oct 11, 2026