Ableton MCPの導入と使い方|ClaudeでAbleton Liveを操作する手順
Ableton MCPは、ClaudeなどのAIアシスタントからAbleton Liveのトラックやクリップを直接操作するための、コミュニティ製のMCPサーバーです。公式READMEは「Create an 80s synthwave track」といった指示のデモ動画を掲げており、自然文の依頼がLive上の実際の操作へ変換されます。ただし、READMEに書かれていない仕様が導入時とプライバシー面の両方に存在するのが実情です。この記事では最新版であるableton-mcp 1.2.0(2026年6月4日公開)の実装そのものを確認し、実際の動作要件、Claude Desktop・Claude Code・Cursorそれぞれの設定、操作できるツールの範囲、そして見落とされやすいネットワークとテレメトリの扱いをまとめます。
まとめ|Ableton MCP導入で押さえる要点
- 本体はahujasid/ableton-mcp。MITライセンスで公開されており、2026年7月末時点でスター2,848・フォーク382。最新版はPyPIのableton-mcp 1.2.0(2026年6月4日)です。
- 必要なPythonは3.10以上。READMEには「Python 3.8 or newer」とありますが、パッケージのrequires-pythonは>=3.10です。3.9以下では最新版が解決対象から外れ、2025年3月公開の0.1.0が入ります。
- Liveのバージョンで使える機能が変わります。Live 10でも基本操作は動きますが、アレンジメントのクリップ取得と複製はLive 11以降、オーディオクリップの読み込みはLive 12.0.5以降が必要です。
- Anthropic公式のAbletonコネクタとは別物です。公式コネクタはLiveとPushの製品ドキュメントに基づいて回答するもので、Liveを操作しません。
- Remote Scriptは0.0.0.0でポート9877を開きます。認証はありません。共有Wi-Fiや社内LANで使うならファイアウォールでの遮断が前提になります。
- v1.2.0のテレメトリは既定で詳細収集が有効です。無効化しない限り、AIに送った指示文や生成したMIDIノートが開発者のサーバーへ送られます。停止するには環境変数
ABLETON_MCP_DISABLE_TELEMETRY=trueを設定します。
Ableton MCPの構成とデータの流れ
Ableton MCPは1つのアプリケーションではなく、性格の違う2つのプログラムの組み合わせです。この分離を理解しておくと、接続できないときにどちらを疑えばよいかが即座に判断できます。
1つ目がAbleton Live側で動くMIDI Remote Scriptです。リポジトリのAbletonMCP_Remote_Script/__init__.pyがそれにあたり、Live内部のPython実行環境で動作してTCPソケットサーバーを立てます。Liveのオブジェクトモデル(トラック、クリップスロット、トランスポート)へ触れるのはこちらだけです。
2つ目がMCPサーバーで、uvx ableton-mcpで起動するPythonプロセスです。AIアシスタントとはMCPで話し、Live側とはTCPソケットで話す翻訳役にあたります。土台はMCP Python SDKに同梱されたFastMCP(mcp.server.fastmcpからのインポート)で、独立パッケージとして配布されているFastMCP 2系とは別物です。MCPサーバーの作り方そのものに関心があればFastMCPでMCPサーバーを構築する手順も参考になります。
両者のあいだを流れるのは、typeとparamsを持つJSONオブジェクトです。応答はstatusとresultを持つJSONで返ります。タイムアウトはコード上、接続確立が5秒、情報取得などの読み取り系が10秒、トラックやクリップを変更する系統が15秒、オーディオファイルを読み込むcreate_audio_clipだけが65秒と定義されています。
ただし実際に効くのは15秒だけです。応答を受け取るreceive_full_responseが冒頭で同じソケットに15秒を設定し直すため、直前に指定した10秒も65秒も上書きされます。どのコマンドでも受信の待ち時間は15秒で頭打ちになり、大きなオーディオファイルの読み込みは65秒の想定に届かないまま切れる可能性があります。
AbletonをAIで操作する2つの選択肢|公式コネクタとMCPサーバーの違い
2026年4月28日、AnthropicはClaude for Creative Workとして9つのコネクタを発表しました。Ableton、Adobe for creativity、Affinity by Canva、Autodesk Fusion、Blender、Resolume Arena、Resolume Wire、SketchUp、Spliceが並び、この一覧にAbletonの名前があることから「公式がLive操作に対応した」と受け取られることがあります。
ところが公式発表におけるAbletonコネクタの説明は、LiveとPushの公式製品ドキュメントにClaudeの回答を接地させる(grounds Claude’s answers in official product documentation for Live and Push)というものです。つまり使い方を正確に答えるためのコネクタであり、Liveを操作する機能ではありません。「ワープモードの違いを教えて」には強くなりますが、「トラックを作って」には応えません。
この住み分けは他の創作系ツールでも同じ構図で、Photoshop MCPにおける公式AdobeコネクタとOSSサーバーの使い分けでも、ドキュメント参照と実操作は別レイヤーとして整理されています。Ableton Liveを実際に動かしたいなら、選択肢は現時点でコミュニティ製のMCPサーバーだけです。公式サポート外である以上、Liveのアップデートで壊れる可能性は残り続けます。制作締切の直前に本番プロジェクトへ導入するのは避けてください。検証用のセットで動作を確かめてから持ち込む順序を強く勧めます。
動作要件とバージョン別に使える機能
READMEの記述と実際のパッケージ定義がずれている箇所があります。導入前に、実装側の値を基準に環境を確認してください。
| 項目 | READMEの記述 | 実装上の要件 |
|---|---|---|
| Python | 3.8 or newer | 3.10以上(pyproject.tomlのrequires-python) |
| Ableton Live | 10 or newer | 10以上(機能により11/12.0.5以上) |
| パッケージ管理 | uv必須 | uvx経由で起動(同左) |
| 依存 | 記載なし | mcp[cli]>=1.3.0、supabase>=2.0.0 |
| トラック作成 | MIDIとオーディオ | create_midi_trackのみ(MIDIだけ) |
Pythonのずれは、エラーではなく静かな旧版インストールとして表面化します。>=3.10を要求するのは1.0.4以降で、3.8を許容するのは初版の0.1.0だけです。3.9以下の環境でバージョンを指定せずに入れると、2025年3月20日公開の0.1.0が選ばれ、アレンジメント操作もオーディオ読み込みも無い状態で動きます。開発側は.python-versionに3.13を指定しているため、迷うなら3.13が無難です。
トラック作成の差も知らないと混乱します。READMEの機能一覧は「Create, modify, and manipulate MIDI and audio tracks」と書いていますが、実装にあるのはcreate_midi_trackだけで、オーディオトラックを新規作成するツールは存在しません。オーディオを扱うには、Live側であらかじめオーディオトラックを用意しておく必要があります。
Liveのバージョンによる差も実務的です。アレンジメント上のクリップを取得するget_arrangement_clipsと、クリップをアレンジメントへ複製するduplicate_to_arrangementは、コード上でLive 11/12向けと明記されています。オーディオファイルをクリップスロットへ読み込むcreate_audio_clipは、Live 12.0.5で追加されたClipSlot.create_audio_clipを呼ぶため、12.0.4以前では明示的なエラーが返ります。Live 10で「曲全体をアレンジメントに構築して」と頼んでも応えられないのは、AIの理解力ではなくLive APIの制約です。
導入手順とクライアント別の設定
作業は「Live側にRemote Scriptを置く」「AIクライアント側にMCPサーバーを登録する」の2段構えです。順番はどちらが先でも構いませんが、両方が揃うまで接続は成立しません。
Remote Scriptの配置とコントロールサーフェス設定
リポジトリからAbletonMCP_Remote_Script/__init__.pyを取得し、Remote Scriptsディレクトリに作ったAbletonMCPという名前のフォルダへ入れます。配置先はOSとインストール形態で変わり、READMEも複数の候補を挙げています。
| OS | 配置先の候補 |
|---|---|
| macOS(アプリ内) | Live.app内のContents/App-Resources/MIDI Remote Scripts/ |
| macOS(ユーザー領域) | ~/Library/Preferences/Ableton/Live XX/User Remote Scripts |
| Windows(ユーザー領域) | C:\Users\[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts |
| Windows(共有データ) | C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\ |
| Windows(インストール先) | C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\ |
配置後にLiveを起動し、設定のLink・Tempo・MIDIタブを開いて、コントロールサーフェスのドロップダウンでAbletonMCPを選びます。入力と出力はどちらもNoneのままにします。ここでMIDIポートを割り当てる必要はありません。読み込みに成功すると、Liveのステータスバーにポート9877で待ち受けている旨のメッセージが出ます。この表示が出ないままAI側の設定を進めても接続はできません。
Claude Desktopでの設定
設定からDeveloperのEdit Configを開き、claude_desktop_config.jsonへサーバーを登録します。
{
"mcpServers": {
"AbletonMCP": {
"command": "uvx",
"args": ["ableton-mcp"]
}
}
}
Smithery経由なら1コマンドで同じ設定が書き込まれます。
npx -y @smithery/cli install @ahujasid/ableton-mcp --client claude
Claude Codeでの設定
Claude Codeはターミナルからサーバーを登録します。標準入出力で通信するローカルサーバーの構文は、区切りの二重ハイフンより後ろを起動コマンドとして扱う形です。
claude mcp add ableton -- uvx ableton-mcp
スコープは–scopeで指定でき、既定のlocalは自分の環境だけ、projectはリポジトリ直下の.mcp.jsonに書かれてチーム全員へ共有され、userはすべてのプロジェクトで有効になります。DAW操作は手元のマシンのLiveに依存するため、通常はlocalのままで構いません。登録後はclaude mcp listで接続状態を確認できます。クライアントへの登録手順はExcalidraw MCPをClaude CodeやCursorへ登録する設定例とほぼ共通で、クライアントが違ってもサーバー側の指定は変わりません。
Cursorでの設定と重複起動の禁止
CursorではSettingsのMCP画面で、コマンド欄にuvx ableton-mcpと入力します。ここでREADMEが警告しているのが二重起動です。MCPサーバーのインスタンスは同時に1つだけにしてください。Claude DesktopとCursorの両方にAbletonMCPを登録したまま両方を起動すると、片方がポートを掴んだ状態でもう片方が接続を試み、応答が返らないまま失敗します。使い分けたいなら、使わない側のクライアントを終了させるのが確実です。
操作できる21のツールと指示の書き方
MCPサーバーが公開するツールは21種類です。AIが実行できる操作はこの21種に限られます。
| 分類 | ツール | 備考 |
|---|---|---|
| 情報取得 | get_session_info、get_track_info | 再生状態の取得は2026年5月に追加 |
| トラック | create_midi_track、set_track_name | 作成はMIDIトラックのみ |
| クリップ作成 | create_clip、create_audio_clip | create_audio_clipはLive 12.0.5以上 |
| クリップ編集 | add_notes_to_clip、set_clip_name | ノートは配列で渡す |
| デバイス | load_instrument_or_effect、load_drum_kit | ブラウザのURIで指定 |
| ブラウザ探索 | get_browser_tree、get_browser_items_at_path | 音源やループ素材の検索に使用 |
| 再生制御 | fire_clip、stop_clip、start_playback、stop_playback | セッションビュー向け |
| セッション設定 | set_tempo | BPMを直接指定 |
| アレンジメント | switch_to_arrangement_view、set_arrangement_time | 2026年3月追加 |
| アレンジメント | get_arrangement_clips、duplicate_to_arrangement | 2026年3月追加/Live 11・12向けと明記 |
注目したいのがアレンジメント系の4ツールです。リポジトリにこれらが入ったのは2026年3月16日で、それ以前の解説はセッションビューでのクリップ生成を前提としたものが中心でした。イントロからアウトロまでの構成をAIに任せる使い方が現実的になったのは、この追加以降です。
指示の書き方は、ツールの粒度に合わせるのがコツ。「80年代風のシンセウェイヴを作って」のような大きな依頼も動きますが、内部では複数ツールの連続呼び出しになるため、15秒のタイムアウトに当たりやすくなります。「4小節のドラムクリップをトラック1に作って」「そのクリップにハイハットを16分で追加して」のように、1回の指示を1つの成果物へ絞ると成功率が上がります。テンポやトラック名のような単発操作なら、set_tempoやset_track_nameが直接呼ばれるので確実です。
READMEに書かれていない挙動と対処
ここからは実装を読まないと分からない4点です。ネットワーク、ポート、テレメトリ、タイムアウトの順に見ていきます。
0.0.0.0での待ち受けとネットワークの露出
Remote ScriptはHOSTを0.0.0.0として、ポート9877でソケットをbindします。これはループバックだけでなくすべてのネットワークインターフェイスで待ち受けるという意味で、同じLANにいる端末からJSONを1つ投げれば、認証を通らずにあなたのLiveを操作できてしまいます。実行できるのはトラックやクリップの新規作成、既存クリップへのMIDIノート書き込み、トラック名・クリップ名の変更、テンポの書き換え、再生の開始と停止、デバイスの読み込みです。なおRemote Scriptに削除系のコマンドは実装されていないため、勝手に消される事態は起きません。既存クリップの上書きも、クリップスロットが埋まっていればエラーで拒否されます。
自宅の閉じたネットワークなら実害は考えにくいものの、コワーキングスペースや共有Wi-Fi、リハーサルスタジオの共用回線では話が変わります。OSのファイアウォールで9877番への外部からの着信を遮断してください。macOSならシステム設定のファイアウォールを有効にし、Liveへの外部接続受け入れを許可しない設定が最短です。ローカルで動くMCPサーバーほど権限設計が見落とされやすい傾向は、Playwright MCPの危険性と対策でも同じ論点として整理されています。
ポート番号を変えるときの片側だけの落とし穴
ポート9877が他のアプリと衝突する場合、MCPサーバー側は環境変数ABLETON_HOSTとABLETON_PORTで接続先を変更できます。ところがRemote Script側のポートはコード内で固定されており、環境変数では変わりません。サーバー側だけ変更すると、Liveは9877で待ち続け、サーバーは別ポートへ接続を試みて必ず失敗します。
変更が必要なら、Remote Scriptの__init__.py内のDEFAULT_PORTを書き換えて両側を揃えます。逆に、WSL2やDockerからホスト側のLiveへ接続するケースでは、ABLETON_HOSTにホストのIPを指定するのが正しい使い方です。
テレメトリが送る中身と無効化の手順
バージョン1.2.0(2026年6月4日)から利用統計の送信が加わりました。READMEは「プロジェクト名や音声コンテンツ、個人情報は収集しない」と説明していますが、パッケージの実装を読むと収集範囲はこの説明より広いことが分かります。
PyPIで配布されるwheelには、GitHubのリポジトリツリーには存在しないconfig.pyが同梱されています。ここに送信先のSupabaseのURLと匿名キーが直接書かれ、enabledがTrue、指示文の収集上限が1,000文字と定義されています。さらにtelemetry.py側では詳細収集の同意フラグが既定でTrueです。フラグを切り替える関数自体は用意されているものの、パッケージ内にFalseを渡す呼び出しは存在せず、環境変数ABLETON_MCP_TELEMETRY_CONSENTもTrueにする方向にしか作用しません。
その状態で何が送られるのかというと、21のツールすべてに定義されたuser_prompt引数の中身、すなわちその操作のもとになったユーザーの指示文です。加えてadd_notes_to_clipでは、音高・開始位置・長さ・ベロシティを並べた数値配列として生成したMIDIノートが件数の上限なく送られます。音名に変換した読みやすい形の要約だけが先頭100件に制限され、それを超えると打ち切りの印が付く仕組みです。トラック名やクリップ名、読み込んだ音源のURIも収集対象で、コード内のコメント自体がこれらを「ユーザーが作成したコンテンツ」と認めています。音声ファイルは拡張子だけが記録され、実体もフルパスも送られません。その点はREADMEの説明どおりです。
作曲中のアイデアをそのまま書いた指示文と、生成した音符の並びが第三者のサーバーへ渡ることを避けたいなら、起動前に無効化してください。次のいずれかの環境変数で送信自体が止まります。
export ABLETON_MCP_DISABLE_TELEMETRY=true
DISABLE_TELEMETRYまたはMCP_DISABLE_TELEMETRYでも同じ効果です。Claude Desktopから使う場合は、設定ファイルのサーバー定義にenvとして書き加えます。クライアント業務のプロジェクトを扱うスタジオなら、導入判断の前にこの設定を組み込んでおくのが安全側の運用です。
接続エラーとタイムアウト
つながらないときの切り分けは単純です。Liveのステータスバーに待ち受けメッセージが出ていなければRemote Scriptの配置かコントロールサーフェス設定の問題、出ているのにAI側から見えないならMCPサーバーの登録かクライアントの再起動漏れです。処理が途中で止まる場合は、実効15秒の受信待ちを超えたと考えてください。
Ableton MCPの実装が複数ある問題
検索すると似た名前のリポジトリがいくつも並び、どれを入れるべきか迷います。同時点での主要な実装の状況は次のとおりです。
| リポジトリ | スター | 最終更新 | 方式 |
|---|---|---|---|
| ahujasid/ableton-mcp | 2,848 | 2026-06-04 | Remote Script+TCPソケット |
| Simon-Kansara/ableton-live-mcp-server | 392 | 2025-03-26 | OSC経由 |
| uisato/ableton-mcp-extended | 243 | 2026-05-07 | 本家の機能拡張版 |
| bschoepke/ableton-live-mcp | 199 | 2026-07-25 | 汎用ブリッジ |
| xiaolaa2/ableton-copilot-mcp | 90 | 2026-07-29 | ableton-js基盤 |
結論として、最初に試すならahujasid/ableton-mcpです。スター数は2位の実装の約7倍にあたり、解説記事の多くもこの実装を前提に書かれているため、詰まったときに情報が見つかります。
検索でよく見かける「ableton mcp extended」はuisato氏による拡張版です。本家との違いははっきりしていて、デバイスパラメータを0.0から1.0の正規化値で一括設定できること、クリップ内のオートメーションポイントを操作できること(READMEに未完成との注記あり)、シーンの作成・削除・名前変更に対応すること、そしてElevenLabs MCPを同梱して音声合成した素材をそのままセッションへ取り込めることが挙げられます。要件はPython 3.10以上・Ableton Live 11以上で、本家より新しいLiveが必要です。ミックスの細かい制御まで踏み込む段階になったら比較する価値があります。
本家を選ぶ際の注意点もあります。2025年3月末から2026年1月末まで、約10か月にわたって更新が止まっていました。再開の最初のコミットはMCP SDK側の変更で使えなくなった初期化引数の修正で、その間に導入した利用者は起動できない状態に置かれていたことになります。GitHub APIのopen_issues_countは67ですが、この値はプルリクエストを含みます。実際の内訳はIssueが43件中34件未解決(79%)、プルリクエストが71件中33件未マージ(46%)です。個人が管理するOSSとしては珍しくない滞留量ですが、業務の常用ツールとして依存しきるのは避けるべき水準といえます。
他DAWのMCP対応状況
Ableton以外のDAWにも、同じ発想のMCPサーバーが生まれています。Logic Pro、Cubase、FL Studioそれぞれに実装があり、同時点でのDAWごとの代表的な状況は次のような分布です。
| DAW | 代表的な実装 | スター | 最終更新 |
|---|---|---|---|
| Ableton Live | ahujasid/ableton-mcp | 2,848 | 2026-06-04 |
| REAPER | dschuler36/reaper-mcp-server | 114 | 2026-02-08 |
| FL Studio | karl-andres/fl-studio-mcp | 73 | 2026-07-01 |
| Logic Pro | koltyj/logic-pro-mcp | 65 | 2026-06-03 |
| Bitwig Studio | WeModulate/bitwig-mcp-server | 62 | 2025-04-10 |
| Cubase | hedidjs/cubase-mcp | 7 | 2025-11-14 |
この差は人気の差ではなく、DAWが外部プログラムへ開いている入口の広さの差です。Ableton LiveはMIDI Remote Scriptsという仕組みを持ち、Live内部のPython環境からトラックやクリップのオブジェクトへ直接触れます。REAPERも同様にReaScriptで深いところまで操作でき、実装が複数育ちました。対してLogic ProはAppleScriptやUI操作に頼らざるを得ず、Cubaseもコントローラー連携の枠組みを経由するため、できることが構造的に狭まります。
したがって、AI連携を前提にDAWを選ぶ段階なら、現実的な候補はAbleton LiveかREAPERです。Logic ProやCubaseのMCPサーバーは開発が始まったばかりで、更新が数か月単位で止まっているものも含まれます。今すぐ制作フローへ組み込む段階ではありません。
よくある質問
Ableton MCPは無料で使えますか
ableton-mcp本体はMITライセンスで公開されており、無料で利用・改変できます。別途費用がかかるのはAbleton Live本体と、利用するAIアシスタントの契約です。Live LiteやIntroのような下位エディションでの動作可否は公式に明示されていないため、手元の環境で確認してください。
ChatGPTなど他のAIからも使えますか
ableton-mcpはuvxで起動する標準入出力型のローカルサーバーです。READMEが例示するClaude DesktopとCursorに加え、Claude Codeも同じサーバー定義で登録できます。一方でChatGPTのコネクタはリモートのHTTP/SSEサーバーを想定しており、ローカルの標準入出力サーバーを登録する手段は用意されていません。そのままではChatGPTから利用できないと考えてください。ローカルLLMから使いたい場合は、LM StudioのMCP設定手順のようにクライアント側が標準入出力型のMCPに対応していることが条件になります。
Pythonの知識は必要ですか
通常の利用では不要です。uvがパッケージの取得と実行を担うため、書くのは設定ファイルだけになります。Pythonが要るのは、Remote Scriptのポート番号を変更する場合や、独自コマンドを追加して機能を拡張する場合に限られます。
Max for Liveは必要ですか
不要です。Ableton MCPはMax for LiveではなくMIDI Remote Scriptsの仕組みを使うため、Suiteエディションでなくても導入できます。Max for Liveデバイスを読み込ませる操作自体は、ブラウザ経由でload_instrument_or_effectから可能です。
手持ちのMIDIファイルを読み込ませられますか
MIDIファイルを直接インポートするツールは用意されていません。MIDIについてはadd_notes_to_clipでノート情報を渡す形になります。オーディオファイルならcreate_audio_clipで読み込めますが、Live 12.0.5以降であること、絶対パスで指定すること、対象がオーディオトラックの空きクリップスロットであることが条件です。