mcpField
A
Ableton Mcp Lofifren

Ableton Mcp Lofifren

ローカル
github.com/LofiFrenメディア・デザイン52 日前に更新

Ableton Mcp Lofifren について

Ableton Mcp Lofifrenは、Claude AIとAbleton Liveを接続するMCPサーバーのフォークで、会話を通じた音楽制作やセッション編集に使えます。Liveの操作を拡張し、バッチ処理やルールベースの人格システムによるMIDIパート生成を備えています。

主な機能

  1. 01トラックとMIDIクリップの一括作成
  2. 02ミキサー、デバイス、シーンの操作
  3. 03コード、スケール、ドラムパターンの生成
  4. 0433種類のスタイル人格によるパート生成
  5. 05アレンジメントビュー用ツール(ベータ)

活用シーン

  1. 01会話で曲のセッションを組み立てる
  2. 02コード進行からMIDIパートを生成する
  3. 03Liveのトラック、デバイス、ミックスを調整する

MCP 対応

Ableton Liveのセッション、トラック、クリップ、デバイス、アレンジメント操作を、Claude AIなどのクライアント向けMCPツールとして公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ableton-mcp-lofifren": {
"command": "uvx",
"args": [
"ableton-mcp-lofifren"
]
}
}
}
起動コマンドuvx ableton-mcp-lofifren

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiableton-mcp-lofifren

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AbletonMCP - Ableton Live Model Context Protocol 統合

フォークに関するお知らせ: このプロジェクトは ahujasid/ableton-mcp のフォークで、33 種類のパーソナリティスタイルシステムと約 35 個の追加 MCP ツールを搭載しています。元のプロジェクトは Siddharth Ahuja によるもので、引き続き MIT ライセンスで提供されています。このフォークは ableton-mcp-lofifren として PyPI で公開されています。

PyPI Add MCP server to Cursor Install in VS Code

AbletonMCP は Model Context Protocol(MCP)を通じて Ableton Live を Claude AI に接続し、Claude が Ableton Live を直接操作・制御できるようにします。この統合により、プロンプトを活用した音楽制作、トラック作成、Live セッションの操作が可能になります。

コミュニティに参加する

フィードバックを共有し、インスピレーションを得て、MCP を活用して開発しましょう:Discord。Siddharth が制作しました。

このフォークの新機能

このフォークは上流の ahujasid/ableton-mcp を大幅に拡張しており、目標は 1 つのプロンプトで楽曲全体を作ること です。元の PR #84 の変更(クリップ編集、ミキサー制御、シーンの再生、オーディオトラック作成、取り消し)は引き続き含まれており、上流には ahujasid/ableton-mcp#84 として提案されています。さらに、このフォークでは 6 つの階層にわたる約 35 個の追加 MCP ツールに加え、Coltrane や Bill Evans から Timbaland、Metro Boomin まで、ジャズ、フュージョン、R&B、ヒップホップ、モダントラップを網羅する 33 種類のパーソナリティを備えたルールベースのスタイルシステム が追加されています。

階層 1 — 複合的な「楽曲の骨組み」ツール(1 回の呼び出しで複数の手順を実行)
  • setup_session(tempo, time_signature, tracks=[…]) — 1 回の往復でセッション全体を準備します。テンポ、拍子に加え、名前、楽器、音量、パンを任意で指定できる N 個のトラックを設定します。
  • create_clip_with_notes(track, clip, length, notes, name?) — create_clip、add_notes_to_clip、set_clip_name をまとめて実行します。
  • create_clips_with_notes(clips=[…]) — create_clip_with_notes の一括実行版です。複数パートの楽曲スケッチ用に、1 回のリモートバッチで複数の MIDI クリップを作成し、名前を付けます。
  • generate_personality_clip(track, clip, personality, chord_progression, ...) — パーソナリティを使ったワークフローを一括実行します。クリップを作成し、パートを生成して、ノートを書き込み、必要に応じてクリップに名前を付けます。
  • create_track(type, name?, instrument_uri?, volume?, pan?, index?) — 作成 → 名前付け → 読み込みの一連の処理を 1 回の呼び出しで実行します。
  • duplicate_clip(src_track, src_slot, dst_track, dst_slot) — トラックをまたいでクリップを複製します。(上流の duplicate_clip_to は同じトラック内でのみ動作します。)
階層 2 — 不足していた基本機能
  • 拍子 — set_time_signature(numerator, denominator)
  • クリップ編集 — set_clip_loop、set_clip_length
  • ミキサーの状態 — set_track_arm、set_track_mute、set_track_solo、set_master_volume
  • トラックのライフサイクル — delete_track
  • デバイス — set_device_parameter(Live の生の値を使用し、パラメーターの最小値・最大値の範囲内に制限します)
  • シーン — create_scene、set_scene_name、set_scene_tempo
Tier 3 — ブラウザーの改善
  • search_browser(query, category?) — 名前でAbletonのブラウザーツリーを検索します(大文字と小文字は区別されません)。読み込みに使用できるURI付きで、最大50件の一致項目を返します。
  • load_instrument_by_name(track_index, name, category?) — サーバー側で検索と読み込みを1回の呼び出しにまとめて実行します。URIを探し回る必要はありません。
  • get_track_devices(track_index) — トラック上のデバイスと、各デバイスのパラメーターおよび値、最小値、最大値を一覧表示します。set_device_parameterを呼び出す前に必要です。
  • get_parameter_display_value(track, device, parameter) / get_device_displayed_parameters(track, device) — 生の値とともに、Live上の表示形式(dB、Hz、ms、比率)でパラメーターを読み取ります。
  • set_parameter_by_display_value(track, device, parameter, target) — "-9 dB"、"120 Hz"、"4:1"などの表示文字列でパラメーターを設定します。利用可能な場合はLiveのstr_to_valueを使用し、それ以外の場合はstr_for_valueを使った範囲制限付きの二分探索を行います。
  • set_track_volume_db(track, db_value) — 生の0~1の浮動小数点数ではなく、dBでトラックフェーダーを設定します。
Tier 4 — 音楽向けヘルパー(サーバー側だけで処理し、音符の計算にリモートとの往復通信は不要)
  • add_chord_progression(track, clip, chords, rhythm?, octave?) — ["Cm","Fm","G7","Cm"]のようなコード進行をクリップに直接書き込みます。トライアド、7th、sus、dim、aug、9th、11th、13thに対応しています。
  • add_scale_run(track, clip, scale, start_beat, end_beat, direction?) — メジャー/マイナー/ハーモニックマイナー/ドリアン/フリジアン/リディアン/ミクソリディアン/ロクリアン/ペンタトニック/ブルース/クロマチックの任意の音階で、音階に沿ったフレーズを生成します。
  • add_drum_pattern(track, clip, pattern, length, kit_map?) — プリセットパターン:four_on_floor、trap、breakbeat、boom_bap。デフォルトではGMドラムマッピングを使用します。
  • quantize_clip(track, clip, grid?) — 音符を1/4、1/8、1/16、1/32のグリッドに揃えます。
  • transpose_clip(track, clip, semitones) — すべての音符を一定の音程で移調します。
Tier 4 Plus — パーソナリティシステム(27人の名前付きプレイヤー、4つの役割、BPM対応)

パーソナリティとは、実在する演奏者の表面的なスタイル上の特徴(音符の密度、スウィング、音域、音階の種類、クロマチックの使用、ダイナミクス、アーティキュレーション)を捉えた、ルールベースのプロファイルです。ジェネレーターはこれらのルールをコード進行と組み合わせ、特定の演奏者の「スタイルを思わせる」一貫性のあるMIDIパートを生成します。機械学習ではなく、決定論的なルールベースで高速かつ拡張可能です(新しいパーソナリティは辞書エントリー1つで追加できます)。

各パーソナリティには、tempo_sweet_spotと、無理なく演奏できるtempo_min/tempo_maxの範囲が設定されています。ジェネレーターは現在のセッションテンポを自動取得し、曲のテンポがパーソナリティの範囲外の場合は密度/スウィングを調整して補正します。また、確認できるよう警告も出力します。

ツール
  • add_personality(track, clip, personality, chord_progression, bars_per_chord?, tempo?, octave_offset?, seed?) — 指定したパーソナリティのスタイルでパートを生成し、既存のMIDIクリップに書き込みます。役割(ソロ/コンピング/ベース/ドラム)に応じて自動的に処理を振り分けます。テンポを省略した場合は、現在のライブセッションのテンポを使用します。
  • add_blended_personality_solo(track, clip, personality_a, personality_b, ratio, chord_progression, ...) — 2つのパーソナリティを補間したプロファイルからソロを生成します(例:コルトレーン70%+ケニー・G30%)。数値フィールドは線形にブレンドされ、カテゴリ別の選択肢はratio<0.5ならA、それ以外ならBから取得されます。
  • list_personalities() — すべてのパーソナリティを役割別に分類し、名前、得意なテンポ、1行の説明とともに返します。
  • add_personality_solo(...) — soloパーソナリティに限定した、add_personalityの旧式の別名です。
パーソナリティ一覧(全33種)

ソロ(9) — メロディック/リードライン

キープレイヤー最適なテンポ表面的なスタイル
coltraneJohn Coltrane200 BPMサウンドの奔流、半音階的なアプローチを交えたモーダルな音階フレーズ
kenny_gKenny G95 BPM高音域のコードトーンをまばらに持続させ、余白をたっぷり取ります
oscar_petersonOscar Peterson160 BPMオクターブの重複、ブルース風の展開、劇的なダイナミクスを伴うスウィングしたビバップ
miles_davisMiles Davis120 BPMクール/モーダル――小節の半分は休符で、目標となるコードトーンを狙います
charlie_parkerCharlie Parker230 BPM密度の高いビバップ――すべてのコードトーンに半音階的にアプローチします
wayne_shorterWayne Shorter140 BPMモダンで角張ったスタイル――広い音程の跳躍、モーダル/オルタード
pat_methenyPat Metheny130 BPMリリカルなギター――リディアン/ドリアンの上で長いフレーズを奏で、ほぼストレートです
stan_getzStan Getz100 BPMクール/ボサノバ――滑らかな長いメロディーフレーズで、ほぼコードトーンを使います
dizzy_gillespieDizzy Gillespie240 BPMビバップ・トランペット――超高音域で速い半音階的なフレーズを奏でます

コンピング(6) — コードボイシング/コンピング

キープレイヤー最適なテンポ表面的なスタイル
bill_evansBill Evans110 BPMルートを省いた3度・7度のボイシングを持続させ、2分音符のパルスで柔らかくロマンティックに演奏します
mccoy_tynerMcCoy Tyner180 BPM4度堆積(4度音程のコード)に、パーカッシブな16分音符のアクセントを加えます
herbie_hancockHerbie Hancock140 BPMすべての裏拍でルートを省いたボイシングを奏でる、60年代Milesのポリリズミックなスタイル
red_garlandRed Garland130 BPM4/4拍子の4分音符で、両手をそろえたブロックコードを奏でるハードバップ
chick_coreaChick Corea150 BPMモダンなフュージョン――密度の高い5声のルートレス・ポリコードをシンコペーションさせます
wynton_kellyWynton Kelly140 BPM先取りしたコンピングを伴う、ブルージーなハードバップのシェルボイシング

ベース(6) — ベースライン

キープレイヤー最適なテンポ表面的なスタイル
james_jamersonJames Jamerson105 BPMモータウン風の忙しいシンコペーションした8分音符、ゴーストノート、中音域のPベース
jaco_pastoriusJaco Pastorius120 BPM高音域のメロディックなフレットレス――コードトーン、大きな跳躍、スライド
pino_palladinoPino Palladino90 BPM滑らかなR&B――最低音域でルートと5度を奏でる、ゆったりしたグルーヴ
marcus_millerMarcus Miller100 BPMスラップ・ファンク――親指とプルのダイナミクスが際立つ、非常にパーカッシブな16分音符
ray_brownRay Brown140 BPM低音域で安定した、ストレートな4分音符のジャズ・ウォーキング
charles_mingusCharles Mingus130 BPM表情豊かなウッドベースのウォーキング――劇的なダイナミクス、半音階、スライド
houseハウス(ジャンルプロファイル)124 BPM低音域の単音シンセベースで、各拍の「アンド」に裏拍のルート中心の音を奏でます

ドラム(12) — ドラムキットのパターン

アコースティック/ライブドラマー

キープレイヤー最適なテンポ表面的なスタイル
questloveQuestlove88 BPMビートより大きく後ろに置いた深いグルーヴ、バックビートの間にゴーストノートを入れます
tony_williamsTony Williams220 BPM典型的なジャズのライドパターン、軽く鳴らすキック、強いスウィング、ビートより前に出ます
vinnie_colaiutaVinnie Colaiuta130 BPMポリリズミックな16分音符のハイハット、シンコペーションしたキック、ゴーストノートの連なり、フィル
j_dillaJ Dilla85 BPMよれたヒップホップ――ビートより大きく後ろに置き、不規則なキックを意図的にルーズに演奏します
elvin_jonesElvin Jones220 BPM3連符のフィールによるポリリズミックなライドパターン、密度の高い3連符のゴーストノート、ビートより前に出ます
stewart_copelandStewart Copeland130 BPMレゲエロック――キックはまばらで、頻繁にオープンハイハットを交えた忙しい16分音符のハイハット

ヒップホップ・プロデューサーのキット(MPC/サンプラー)

Keyプレイヤー得意なテンポサウンドの特徴
timbalandTimbaland96 BPMグリッドから外れたシンコペーションキック、16分音符のスタッタリングハイハット、ボーカルパーカッションのゴーストノート
dr_dreDr. Dre94 BPMGファンクのタイトでライブ感のあるグルーヴ、1拍目と「3拍目の裏」に控えめなキック、力強いサウンド
dj_premierDJ Premier92 BPMクラシックなブーンバップ — 1拍目と3拍目に力強いキック、2拍目と4拍目に力強いスネア、フィルなし
pete_rockPete Rock88 BPMゴーストスネアのロールを取り入れたジャジーなブーンバップ、わずかにビートより後ろに置く感覚
metro_boominMetro Boomin75 BPMモダンなハーフタイムトラップ — 1拍目と「3拍目の裏」にキック、3拍目のみスネア、密度の高いハイハットロール
madlibMadlib92 BPMダスティーなMPCのよれたグルーヴ — 不規則なキック、ビートより後ろのタイミング、ローファイなゆるさ
例
"Replace the lead in clip 0 of track 7 with a Coltrane solo over Cm Ab Eb Bb"
"Write a Bill Evans rootless comp into the chord track for the chorus"
"Generate a Jaco-style bassline for Cm Fm G7 Cm"
"Add a Questlove drum pattern to track 4, scene 3"
"Blend Coltrane and Kenny G 70/30 into a lead solo over the bridge"
"Write a Charles Mingus walking bass at the current session tempo"
Tier 5 — アレンジメントビュー(BETA)
  • get_arrangement_info — 機能の検出結果、曲の長さ、ループ範囲、ロケーター、トラックごとのアレンジメントクリップを報告します。
  • add_clip_to_arrangement(track, slot, time) — BETA。セッションクリップをアレンジメントのタイムラインに配置します。機能の有無を事前に確認し、Track.duplicate_clip_to_arrangement を公開していないLiveバージョンでは、構造化された「未サポート」エラーを返します。Live 12.2.7で動作確認済みです。
  • arrange_clips(placements=[…], loop_start?, loop_end?, loop_on?) — add_clip_to_arrangement の一括版です。1回のリモート呼び出しでセクション全体のマップを配置できるよう、オプションでアレンジメントのループを設定できます。
  • set_arrangement_loop(start, end, on) — Live 11以降で安定して動作します。
  • add_arrangement_locator(time, name) — ヴァース/コーラス/ブリッジのマーカーです。コミットと再試行のガードを使ってプレイヘッドを time に移動し(実際のコントロールサーフェスのティックを待ち、Liveが位置の書き込みを確定するまで再適用します)、その後キューを切り替えます。**Live 12.2.7で確認済み:**連続して呼び出しても、初回で指定どおりの位置に正確に設定されます。
  • delete_arrangement_locator(time, tolerance=0.05) — time から tolerance 拍以内にある最も近いロケーターを削除します。範囲内にロケーターがない場合はエラーになります。
  • clear_all_arrangement_locators — すべてのキューポイントを1つずつ削除し、実際に削除した件数を報告します。
  • bounce_session_to_arrangement(scene_order, bar_length?) — BETA。シーンのシーケンスをアレンジメントのタイムラインにレンダリングし、セッションのスケッチからアレンジメントまでを1回の呼び出しで行うワークフローです。get_arrangement_info の can_duplicate_to_arrangement: true が必要です。
  • render_arrangement_to_wav(track_index, start_beat, end_beat, out_path?, tail_seconds?) — ヘッドレスでディスクにバウンスします。手動のオーディオ/ビデオ書き出し操作を行わずに、アレンジメントの範囲を .wav に直接レンダリングします。LiveのLOMにはファイルへの書き出し呼び出しがないため、内蔵のリサンプリング入力(マスターバス、フェーダー後、フィードバックループなし)を使ってオーディオトラックをアームし、アレンジメントをリアルタイムで録音します。その後、生成されたクリップのファイルパスを読み取り、トラックの入力とアームの状態を元に戻します。範囲のリアルタイム再生時間に tail_seconds を加えた時間ほど、サーバー側で処理がブロックされます。
Tier 6 — インフラストラクチャと使い勝手
  • batch_commands(commands) — N 個のリモートプリミティブコマンドを、1 回のソケット往復で送信します。バッチ全体は Live 側の単一のメインスレッドクロージャ内で実行されるため、Live から見るとアトミックであり、その後に undo を 1 回実行すればシーケンス全体を元に戻せます。最初の失敗で停止し、部分的な結果を返します。create_clip_with_notes や generate_personality_clip など、サーバー側の複合ツールは batch_commands 内では使用できません。代わりに、それぞれの一括処理形式を使用してください。
  • ウォームパスの自動再接続 — send_command は BrokenPipeError/ConnectionResetError が発生すると 1 回再試行するため、Ableton の短時間の再起動でセッションが切断されなくなりました。
  • クリップの自動延長 — add_notes_to_clip は、指定されたノートがクリップの終端で途切れる場合、クリップの end_marker を延長するようになりました。これは上流版からの動作変更です。上流版ではクリップの終端を超えるノートが通知なく破棄されていました。
  • 拡張された get_session_info — scene_count、scene_names、is_playing、current_song_time、arrangement_length も報告するようになりました。
  • 内部ディスパッチのリファクタリング — リモートスクリプトのコマンド用 if/elif チェーンを 2 つのディスパッチ辞書に置き換え、今後ツールを追加する際の変更が 30 行の編集ではなく 1 行で済むようになりました。また、存在しないメソッドを参照していた 3 つの不要なコード分岐も削除しました。
安定性の修正(PR #84 から引き続き含まれています)
  • 破壊的なコマンドに影響する可能性があったタイムアウトの競合を修正しました。get_clip_notes は直接実行されます。
  • load_browser_item が変更を伴うコマンドとして正しく認識されるようになりました。
  • _find_browser_item_by_uri でプラグイン/Max for Live/ユーザーライブラリ/パック/サンプルを順にたどることで、load_browser_item がプラグイン URI を正しく解決するようになりました。そのため、get_browser_items_at_path が返した URI から実際に読み込めます。
  • ブラウザー URI キャッシュでは、エントリーごとに 5 分間のソフト TTL を保持し、キャッシュ済みアイテムを返す前に検証するようになりました。そのため、ブラウザーの再スキャン後に古くなった参照は破棄され、load_item が通知なく失敗することはありません。

機能

  • 双方向通信:ソケットベースのサーバーを介して Claude AI を Ableton Live に接続します
  • 1 回の呼び出しでセッションを初期化:setup_session で、プロジェクト全体(テンポ、拍子、トラック、楽器、ミックス)を 1 回の往復で作成します
  • 楽曲の一括スケッチ:create_clips_with_notes、generate_personality_clip、arrange_clips により、複数トラックの楽曲制作を数回の呼び出しに減らせます
  • コマンドの一括処理:batch_commands で N 個のコマンドを一度に送信し、アトミックに取り消せます
  • 33 種類のパーソナリティ、4 つの役割:Coltrane、Bill Evans、Jaco、Questlove、Timbaland、Dr. Dre、Metro Boomin などのスタイルによるソロ/コンピング/ベース/ドラムに対応し、BPM に応じて調整でき、ブレンドも可能です
  • トラック操作:MIDI/オーディオトラックの作成、名前変更、ミュート、ソロ、録音待機、削除、ミックス
  • デバイス:すべてのデバイスのパラメーター一覧を最小値・最大値とともに読み取り、Live の生の値でパラメーターを設定
  • 楽器とエフェクトの選択:名前でブラウザーを検索するか、単一の複合呼び出しで読み込みます
  • クリップの作成と編集:MIDI クリップとノートの作成、編集、読み取り、複製(別トラックへの複製)、サイズ変更、ループ設定、削除(クリップ長の自動延長付き)
  • 音楽理論のプリミティブ:コード進行、スケールラン、ドラムパターン、クオンタイズ、移調
  • ミキサーの制御:トラックとマスターの音量、パン、リターントラックへのセンド
  • セッションの制御:再生の開始/停止、個別のクリップやシーン全体の再生、シーンの作成
  • アレンジメントビュー(ベータ版):機能検出を通じて、タイムラインへのクリップ配置、アレンジメントのループ設定、ロケーターの追加、シーン順序からアレンジメント全体への展開に対応します
  • ヘッドレスのディスクバウンス:手動で「Export Audio/Video」を実行することなく、アレンジメントの範囲を .wav ファイルに直接レンダリングします
  • 取り消しのサポート:バッチ全体も 1 ステップとして、直前の操作を元に戻します

コンポーネント

システムは、次の2つの主要コンポーネントで構成されています。

  1. Ableton Remote Script(Ableton_Remote_Script/__init__.py):コマンドを受信して実行するソケットサーバーを作成する、Ableton Live 用の MIDI Remote Script です
  2. MCP Server(server.py):Model Context Protocol を実装し、Ableton Remote Script に接続する Python サーバーです

インストール

注: 上流の ableton-mcp PyPI パッケージと @ahujasid/ableton-mcp Smithery の掲載版をインストールすると、オリジナルのプロジェクトがインストールされます。このフォークに含まれるパーソナリティシステムや約35個の追加ツールは含まれません。このフォークを入手するには、以下の手順に従って PyPI から ableton-mcp-lofifren をインストールしてください。

前提条件

Mac をお使いの場合は、以下の方法で uv をインストールしてください:

brew install uv

それ以外の場合は、[uv の公式ウェブサイト][https://docs.astral.sh/uv/getting-started/installation/]からインストールしてください。

⚠️ UV をインストールする前に先へ進まないでください

Claude for Desktop との連携

セットアップ手順の動画をご覧ください

  1. Claude > Settings > Developer > Edit Config > claude_desktop_config.json に移動し、以下を追加します。
{
    "mcpServers": {
        "ableton-mcp-lofifren": {
            "command": "uvx",
            "args": ["ableton-mcp-lofifren"]
        }
    }
}

初回起動時に uvx が PyPI から ableton-mcp-lofifren を取得してキャッシュします。代わりに開発ブランチからインストールするには、args を ["--from", "git+https://github.com/LofiFren/ableton-mcp-lofifren.git", "ableton-mcp-lofifren"] に置き換えてください。

Cursor との連携

ワンクリック: この README の上部にある Add MCP server to Cursor バッジを使用します。設定が自動入力され、Cursor が開きます。

手動: Cursor Settings → MCP に移動し、次のコマンドを貼り付けます。

uvx ableton-mcp-lofifren
VS Code との連携

ワンクリック: この README の上部にある Install in VS Code バッジを使用します。VS Code 用 MCP 拡張機能が必要です。

手動: コマンドパレットを開き → MCP: Add Server → Stdio → コマンド uvx、引数 ableton-mcp-lofifren を選択します。

⚠️ MCP サーバーは1つだけ実行してください(Cursor または Claude Desktop のどちらか一方で実行し、両方では実行しないでください)。

Ableton Remote Script のインストール

セットアップ手順の動画をご覧ください

  1. このリポジトリから AbletonMCP_Remote_Script/__init__.py ファイルをダウンロードします

  2. Ableton の MIDI Remote Scripts ディレクトリにフォルダーをコピーします。場所は OS とバージョンによって異なります。以下のいずれかで見つかるはずですが、探す必要がある場合があります。

    macOS の場合:

    • 方法1:Applications に移動し、Ableton Live アプリを右クリック → Show Package Contents → 次の場所に移動します。 Contents/App-Resources/MIDI Remote Scripts/
    • 方法2:方法1で見つからない場合は、直接パスを使用します(XX はお使いのバージョン番号に置き換えてください)。 /Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts

    Windows の場合:

    • 方法1: C:\Users[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts
    • 方法2: C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\
    • 方法3: C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\ 注:XX は Ableton のバージョン番号(例:10、11、12)に置き換えてください。
  3. Remote Scripts ディレクトリに「AbletonMCP」という名前のフォルダーを作成し、ダウンロードした「__init__.py」ファイルを貼り付けます

  4. Ableton Live を起動します

  5. Settings/Preferences → Link, Tempo & MIDI に移動します

  6. Control Surface ドロップダウンから「AbletonMCP」を選択します

  7. Input と Output を「None」に設定します

使い方

接続の開始
  1. Ableton Remote Script が Ableton Live に読み込まれていることを確認します
  2. MCP サーバーが Claude Desktop または Cursor で設定されていることを確認します
  3. Claude を操作すると、自動的に接続が確立されます
Claude での使用

Claude の設定ファイルを設定し、Ableton でリモートスクリプトを実行すると、Ableton MCP のツールを示すハンマーアイコンが表示されます。

機能

  • セッション、トラック、アレンジメントの情報を取得
  • 1 回の呼び出しでセッション全体を初期設定(setup_session)
  • 任意のコマンド列を単一のアトミックな取り消し可能操作として一括実行
  • MIDI トラックとオーディオトラックの作成/名前設定/録音アーム/ミュート/ソロ/削除
  • クリップの作成、編集、読み取り、複製(別トラック間)、サイズ変更、ループ
  • MIDI ノートの追加、削除、移調、クオンタイズ
  • ノートが現在の長さを超えたときにクリップを自動延長
  • すべてのデバイスのパラメーター(最小値/最大値を含む)を読み取り、Live の生値で設定
  • Ableton ブラウザーを名前で検索し、URI または名前で読み込み
  • トラックの音量/パン/リターントラックへのセンド、マスター音量を設定
  • テンポ、拍子、再生、個々のクリップ、シーン全体を操作
  • シーンを作成し、シーンごとの名前/テンポを設定
  • コード進行、スケールのフレーズ、プリセットドラムパターンを生成
  • 著名なプレイヤーのスタイルでパートを生成 — ソロの個性 9 種(Coltrane、Kenny G、Oscar Peterson、Miles、Parker、Wayne Shorter、Metheny、Getz、Dizzy)、コンピング 6 種(Bill Evans、McCoy Tyner、Hancock、Red Garland、Chick Corea、Wynton Kelly)、ベース 6 種(Jamerson、Jaco、Pino、Marcus Miller、Ray Brown、Mingus)、ドラム 12 種(Questlove、Tony Williams、Vinnie、J Dilla、Elvin Jones、Stewart Copeland、Timbaland、Dr. Dre、DJ Premier、Pete Rock、Metro Boomin、Madlib)— すべて BPM に対応
  • 2 つのソロの個性をブレンド(例:Coltrane 70% + Kenny G 30%)して、合成プロファイルを作成
  • セッションのクリップをアレンジメントのタイムラインに配置(BETA)、アレンジメントのループを設定し、シーンの順序を完全なアレンジメントにバウンス(BETA)
  • 直前の操作を取り消し — 一括操作全体も 1 ステップとして取り消し可能

コマンド例

Claude に依頼できる内容の例を紹介します。

  • 「80 年代風のシンセウェーブトラックを作成して」デモ
  • 「Metro Boomin 風のヒップホップビートを作成して」
  • 「シンセベース音源を使った新しい MIDI トラックを作成して」
  • 「ドラムにリバーブを追加して」
  • 「シンプルなメロディーの 4 小節の MIDI クリップを作成して」
  • 「現在の Ableton セッションの情報を取得して」
  • 「選択中のトラックに 808 ドラムラックを読み込んで」
  • 「トラック 1 のクリップにジャズのコード進行を追加して」
  • 「テンポを 120 BPM に設定して」
  • 「トラック 2 のクリップを再生して」
  • 「トラック 3 のクリップ 1 のノートを読み取って、3 度上でハーモナイズして」
  • 「ベースクリップのノートをすべて消去して、新しいパターンを書いて」
  • 「スロット 1 のドラムクリップをスロット 2 に複製して」
  • 「オーディオトラックを追加して、音量を -6 dB に設定して」
  • 「ハイハットを少し右にパンして」
  • 「リードボーカルの 30% を Return A に送って」
  • 「シーン 2 を再生して」
  • 「今の操作を取り消して」
  • 「90 BPM、6/8 拍子で、Drums、Bass、Lead、Pad の 4 つの MIDI トラックがあるセッションをセットアップして」(setup_session)
  • 「ブラウザーで Operator を検索して、トラック 0 に読み込んで」(load_instrument_by_name)
  • 「コードトラックのクリップ 0 に Cm-Fm-G7-Cm の進行を書き込んで」(add_chord_progression)
  • 「トラック 0 にフォー・オン・ザ・フロアのビートを追加して」(add_drum_pattern)
  • 「リードクリップを 1/16 にクオンタイズして」(quantize_clip)
  • 「ベースクリップを 7 半音上に移調して」(transpose_clip)
  • 「トラック 1 をミュートして、トラック 2 を録音用にアームして」
  • 「トラック 3 のデバイスのパラメーターを表示して」(get_track_devices)
  • 「トラック 3 の最初のデバイスのパラメーター 4 を 8000 に設定して」(set_device_parameter)
  • 「拍子を 3/4 に設定して」
  • 「Bridge という名前の新しいシーンを作成して」
  • 「シーン [0, 0, 1, 2, 1, 3] をアレンジメントにバウンスして」(bounce_session_to_arrangement、BETA)
  • 「32 拍目に Drop という名前のロケーターを追加して」(add_arrangement_locator)
  • 「リードを、Cm Ab Eb Bb に合わせた Coltrane のソロに置き換えて」(add_personality)
  • 「コーラスのコードに Bill Evans 風のルートレスコンピングを書いて」(add_personality)
  • 「ベースを James Jamerson 風に演奏させて」(add_personality)
  • 「ヴァースに Questlove のドラムパターンを使って」(add_personality)
  • 「Coltrane と Kenny G を 70/30 でブレンドして、リードに使って」(add_blended_personality_solo)
  • 「利用できる個性の一覧を表示して」(list_personalities)

トラブルシューティング

  • 接続の問題:Ableton Remote Script が読み込まれていること、および MCP サーバーが Claude で設定されていることを確認してください
  • タイムアウトエラー:リクエストを簡単にするか、小さなステップに分けてみてください
  • 電源を切ってから入れ直してみましたか?:まだ接続エラーが発生する場合は、Claude と Ableton Live の両方を再起動してみてください

技術詳細

通信プロトコル

システムは、TCP ソケット上でシンプルな JSON ベースのプロトコルを使用します:

  • コマンドは、type と任意の params を含む JSON オブジェクトとして送信されます
  • 応答は、status と result または message を含む JSON オブジェクトです
制限事項とセキュリティ上の考慮事項
  • 複雑な音楽アレンジの作成は、小さなステップに分ける必要がある場合があります
  • このツールは、Ableton のデフォルトデバイスとブラウザー項目で動作するように設計されています
  • 大規模な実験を行う前に、必ず作業を保存してください

貢献

貢献を歓迎します!お気軽に Pull Request を送信してください。

免責事項

これはサードパーティ製の連携機能であり、Ableton が開発したものではありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。