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-mind
インストール
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityBmaintenanceA Model Context Protocol server that enables real-time interaction with Ableton Live, allowing AI assistants to control song creation, track management, clip operations, and audio recording workflows.237992MIT
- AlicenseAqualityAmaintenanceMCP server for Ableton Live that exposes the Live Object Model to LLMs, enabling natural language control of music production.36714MIT
- 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
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ulm0/ableton-live-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server