Ableton Live MCP
Ableton Live MCP
Ableton Live 12用のMCPサーバーで、公式の Ableton Extensions SDK上に構築されています。このMCPサーバーはLiveの内部で 拡張機能として動作します。ブリッジプロセスもMIDIリモートスクリプトも不要です。あらゆるMCPクライアント(Claude Code、 Claude Desktop、Cursorなど)がストリーミングHTTP経由で接続し、Live Setのトラック、クリップ、MIDIノート、デバイス、パラメータ、 ミキサー、シーン、ワーピング、レンダリングなどを完全にプログラム制御できます。
MCP client (Claude, ...) ──streamable HTTP──▶ http://127.0.0.1:8722/mcp
│
Live Extension Host (Node.js)
│
Ableton Live 12要件
Ableton Live 12.4.5以降(Extensionsサポート)
Node.js >= 24.14(ビルドのみ)
Related MCP server: ableton-agent-mcp
インストール
npm install
npm run package # builds and produces Ableton-Live-MCP-<version>.ablxその後、.ablxファイルをLiveのSettings → Extensionsにドラッグします。MCPエンドポイントは
http://127.0.0.1:8722/mcpでLiveとともに起動します(GET /healthで簡単に確認できます)。
開発モード
LiveでSettings → Extensions → Developer Modeを有効にしてから、次の手順を実行します:
npm start # builds and runs the extension against the running Live.envはLiveのインストール先を指す必要があります。例:
EXTENSION_HOST_PATH=/Applications/Ableton Live 9 Beta.app。
クライアントを接続する
Claude Code:
claude mcp add --transport http ableton-live http://127.0.0.1:8722/mcpClaude Desktop(またはstdioのみ対応のクライアント)はmcp-remoteを介して:
{
"mcpServers": {
"ableton-live": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8722/mcp"]
}
}
}設定
ポートは拡張機能のストレージディレクトリ内のconfig.jsonに保存されます (初回
実行時に作成され、パスはsong_getのenvironment.storage_directoryで確認できます)。デフォルト:
{ "port": 8722 }仕組み
すべてのLiveオブジェクト(トラック、クリップ、デバイス、パラメータなど)は、リストツール(
song_get、track_get、device_getなど)で見つかる安定したオブジェクトIDで指定されます。IDはオブジェクトが削除または移動されたり、別のLive Setが読み込まれたりするまで有効です。古いIDはクライアントに再リストを促すエラーを返します。
すべての時刻・位置は拍単位です。色は
#RRGGBB、MIDIピッチは0~127です。複数値の書き込み(
parameter_set)はLiveで1つのアンドゥステップにまとめられます。
ツール
Song
ツール | 説明 |
| Live Setの状態: テンポ、スケール、グリッド、トラック、リターン/メイントラック、シーン、キューポイント、環境情報。他のすべての場所で使われるオブジェクトIDを返します。 |
| ソングのプロパティ(テンポ)を設定します。 |
トラック
ツール | 説明 |
| トラックの詳細: クリップスロット+クリップ、テイクレーン、アレンジメントクリップ、デバイス、ミキサー(値付き)。 |
| 名前/ミュート/ソロ/アームを設定します。 |
| 新しいオーディオまたはMIDIトラックを作成します。 |
| トラックを削除します。 |
| トラックを複製します。 |
| ビート範囲内のアレンジメントクリップを削除/切り詰めます。 |
| トラックにテイクレーンを追加します。 |
| テイクレーンの名前を変更します。 |
シーンとキューポイント
ツール | 説明 |
| シーンを管理します。 |
| アレンジメントロケーターを管理します。 |
クリップ
ツール | 説明 |
| セッションスロット(IDまたはトラック+ |
| 完全なクリップ詳細(オーディオ: ワープ設定+マーカー。MIDI: ノート数)。 |
| 名前、色、ミュート、ループ、ワープ、ワープモードを設定します。 |
| セッションまたはアレンジメントクリップを削除します。 |
| すべてのMIDIノートを読み取ります。 |
| ノートを書き込みます: |
| サーバーサイドのノート変換 — トランスポーズ、時間シフト、ベロシティスケール/オフセット、クォンタイズなどは読み取り/変更/書き込みの往復なしで行えます。 |
デバイスとラック
ツール | 説明 |
| デバイスの詳細: 値アイテムを持つパラメータ( |
| 内蔵Liveデバイスをトラックまたはラックチェーンに挿入します。 |
| デバイスを削除またはコピーします。 |
| ラックチェーンの詳細: デバイス+チェーンミキサー。 |
| ラックにチェーンを追加します。 |
| ドラムラックパッドのMIDIノートを設定します。 |
| Simplerのサンプルを交換します。 |
パラメータとミキシング
ツール | 説明 |
| デバイス/ミキサーパラメータの値を読み取ります(バッチ)。 |
| パラメータの値を書き込みます(バッチ。1つのアンドゥステップ)。 |
| トラックまたはチェーンの音量/パン/センドと、パラメータIDと単位のヒントを取得します。 |
| トラックまたはチェーンの音量/パン/センドを1回の呼び出しで設定します(1つのアンドゥステップ)。 |
ファイルとレンダリング
ツール | 説明 |
| ファイルをLiveプロジェクトにコピーします。 |
| オーディオトラックのプリFX音声をWAVにレンダリングします。 |
UIとコマンド
ツール | 説明 |
| Live内にモーダルHTMLダイアログを表示します(ユーザーに確認したり、レポートを表示したりするため)。 |
|
|
スキル
skills/ableton-live/SKILL.mdはインストール可能なエージェントスキル
であり、MCPクライアントにこれらのツールをうまく使う方法(ID発見フロー、拍と秒の扱い、
ノート編集パターン、デバイスのワークフロー)を教えます。
Claude Codeにインストールするには:
mkdir -p ~/.claude/skills && cp -r skills/ableton-live ~/.claude/skills/接続したアシスタントに依頼できる典型的な作業:
「Drum Rack付きの新しいトラックに、4小節のハウス・ドラムパターンを作成して」
「DrumsトラックのすべてのクリップをComplex Proモードでワープして」
「ボーカルバス以外のすべてのトラックを3dB下げて」
「曲の骨組みを作って: イントロ、Aメロ、サビのシーンとロケーターを」
「Simplerのサンプルを時は、/path/to/kick.wavに交換してC1に割り当てて」
制限事項
拡張機能(つまり MCP エンドポイント)は、Live が起動している間だけ動作します。
挿入できるのは Live 内蔵デバイスのみです。サードパーティ製プラグインは SDK からは読み込めません。
トランスポート操作(再生/停止/録音)やクリップの起動はありません — Extensions API v1.0.0 はこれらを公開していません。ブラウザへのアクセスやパラメータ・オートメーションカーブも同様です。
show_dialogは、ユーザーが Live でダイアログを閉じるまでブロックします。
テスト
npm test # E2E against a mock Extension Host: MCP client ↔ HTTP ↔ all tools
node test/live-smoke.mjs # against a real running Live with the extension loadedLive スモークテストは、専用のトラック/クリップ/デバイスを作成し、すべてのツール・ファミリー(MIDIノート、ワペング、ドラムック、レング、...)を検証して、作成したものをすべて削除します。
Extession Host の癖(知っておく価値あり)
このプロジェクトが対応しているのは、ベータ版 Extension Host の2つの癖について説明します:
Bare VM コンテキスト。 拡張機能は
globalや Web のグローバル(Request、Response、ReadableStream、fetch、EventTarget、...)を持たない V8 コンテキストで評価されます。これらは MCP SDK がロード時に必要とするものです。build.tsは、それらをメインの Node コンテキストから取り込んだバナーを注入します(コアモジュールの関数は共有されているので、それらのFunctionコンストラクタはそこで評価されます)。詳細はbuild.tsを参照してください。bigint 数値。 ホストは、SDK が
numberとして扱う一部の値(クリップの色、ノートのピッチなど)に対してbigintを返します。src/serialize.tsは、算出/JSON の前にnum()で正規化しています。非同期の書込み。 SDK のプロパティ・セッター(ノート、名前、値など)は、Live が変更を適用する前に戻ります。ReadableStream direktly 数十 ms 以内に読み取ると、変更前の状態が返ることがあります。が、書き込み後の読み取りをするテストは、しばらくリトライする必要があります(
test/live-smoke.mjsのeventually()を参照)。
また、開発用 Extension Host がクラッシュすると、Live が次のコントロール・チャンネルのハンドシェイク("bring-up timed out")を拒否することがあります — During that time, restart Live and run npm start again.
トラブルシューティング
エンドポイントが応答しない:
curl http://127.0.0.1:8722/healthを確認します。Live 内の任意のトラックを右クリックすると、"Ableton Live MCP: Status" コンテキストメニュー項目で、拡張機能が実際にバインドしたエンドポイントが表示されます。ポートが使用中: 設定したポートを別のプロセスが使用している場合、サーバーは
ExtensionHost.txtに失敗を記録して起動しません。拡張機能のconfig.json内のportを変更してください(パスはsong_getのenvironment.storage_directoryに表示されます)。このファイルは起動時に一度だけ読み取られるので、その後 Live を再起動してください。config.json を変更したのに反映されない: 設定は拡張機能の起動時にのみ読み取られます。Live(または開発用 Extension Host)を再起動してください。
ライセンス
The code in this repository is MIT. vendor/ 内のターボール(Ableton Extensions SDK & CLI)は Ableton のものであり、その独自のライセンスが適用されます(SDK ディストリビューション内の sdk/LICENSE.md を参照してください)。
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP server for audio stem separation, denoise, and reverb.
MCP server for Producer/Riffusion AI music generation
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.
Related MCP Servers
- FlicenseBqualityDmaintenanceMCP server for controlling Ableton Live, enabling AI assistants to interact with Live sessions through tools for track/clip/scene management, playback control, and device parameter adjustments.48-
- AlicenseNot gradedqualityBmaintenanceAn MCP server that exposes Ableton Live control (session state, transport, tracks, devices, clips, MIDI note editing) as tools for LLM agents, enabling natural language manipulation of a Live session.1MIT
- AlicenseBqualityBmaintenanceLocal MCP server for inspecting and controlling Ableton Live through a local HTTP bridge. Enables LLMs to perform production workflows like MIDI import, track editing, mixing, mastering, and export.5910 npmMIT
- FlicenseBqualityCmaintenanceMCP server for Ableton Live 12 enabling full DAW control (tracks, devices, mixer, clips, transport) and audio analysis via loopback capture, allowing LLMs to create, modify, and measure music in real time.621-