Ableton Live MCP Server について
Ableton Live MCP Server は、OSC 経由で LLM から Ableton Live を操作できる MCP サーバーです。AbletonOSC をベースにしており、自然言語で Live を操作したい音楽制作者を対象としています。
主な機能
- 01Ableton Live を操作する MCP 対応 API
- 02python-osc による OSC メッセージの送受信
- 03OSC アドレスから MCP ツールへのマッピング
- 04Live コマンドのリクエストとレスポンス処理
活用シーン
- 01自然言語によるバンド録音用セットの準備
- 02トラック名に基づく入力ルーティングの一括変更
MCP 対応
本プロジェクトは MCP サーバーとして、Ableton Live の OSC アドレスを MCP ツールに対応付け、Claude Desktop などのクライアントから呼び出せるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Ableton Live MCP サーバー
📌 概要
Ableton Live MCP サーバーは、Model Context Protocol (MCP)を実装し、LLM と Ableton Live の間の通信を可能にするサーバーです。OSC (Open Sound Control) を使用して Ableton Live とのメッセージ送受信を行います。AbletonOSCの実装を基に、利用可能な OSC アドレスを網羅的にマッピングし、MCP クライアントが利用できるツールとして提供します。
このプロジェクトは、次の 2 つの主要コンポーネントで構成されています。
mcp_ableton_server.py:クライアントと OSC デーモン間の通信を処理する MCP サーバーです。osc_daemon.py:Ableton Live にコマンドを中継し、応答を処理する OSC デーモンです。
✨ 機能
- MCP クライアントから Ableton Live を操作するための、MCP 互換 API を提供します。
- OSC メッセージの送受信に python-osc を使用します。
- AbletonOSCの OSC 実装を基にしています。
- Ableton Live のコマンドに対するリクエストとレスポンスの処理を実装しています。
⚡ インストール
要件
- Python 3.8+
python-osc(OSC 通信用)fastmcp(MCP サポート用)uv(推奨 Python パッケージインストーラー)- AbletonOSC(コントロールサーフェスとして)
インストール手順
-
uvをインストールします(https://docs.astral.sh/uv/getting-started/installation):curl -LsSf https://astral.sh/uv/install.sh | sh -
リポジトリをクローンします:
git clone https://github.com/your-username/mcp_ableton_server.git cd mcp_ableton_server -
プロジェクトとその依存関係をインストールします:
uv sync -
AbletonOSC をインストールします。AbletonOSCの手順に従ってください。
🚀 使用方法
OSC デーモンの実行
OSC デーモンは、MCP サーバーと Ableton Live 間の OSC 通信を処理します。
uv run osc_daemon.py
この処理により、次のことが行われます。
- ポート 65432 で MCP クライアントからの接続を待ち受けます。
- ポート 11000 の OSC を介して Ableton Live にメッセージを転送します。
- ポート 11001 で Ableton からの OSC 応答を受信します。
使用例
Claude デスクトップで、Claude に次のように依頼します。
- ロックバンドを録音するためのセットを準備してください
- 名前に「voice」を含むすべてのトラックの入力ルーティングチャンネルを Ext. In 2 に設定してください
⚙️ 設定
デフォルトでは、サーバーとデーモンは localhost (127.0.0.1) で次のポートを使用して実行されます。
- MCP サーバーソケット: 65432
- Ableton Live OSC ポート(送信): 11000
- Ableton Live OSC ポート(受信): 11001
これらを変更するには、osc_daemon.py の AbletonOSCDaemon クラスを編集します。
self.socket_host = '127.0.0.1'
self.socket_port = 65432
self.ableton_host = '127.0.0.1'
self.ableton_port = 11000
self.receive_port = 11001
Claude Desktop の設定
このサーバーを Claude Desktop で使用するには、Claude Desktop の設定で構成する必要があります。設定ファイルの場所はオペレーティングシステムによって異なります。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
次の設定を mcpServers セクションに追加します。
{
"mcpServers": {
"Ableton Live Controller": {
"command": "/path/to/your/project/.venv/bin/python",
"args": ["/path/to/your/project/mcp_ableton_server.py"]
}
}
この設定により、次のことが保証されます。
- すべての依存関係が適切に管理された状態でサーバーが実行されます。
- プロジェクトのポータビリティと再現性が保たれます。
貢献
このプロジェクトの改善に役立つ課題、機能リクエスト、プルリクエストをぜひお寄せください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
謝辞
- Model Context Protocol (MCP)
- OSC の処理に関する python-osc
- OSC 実装を提供した Daniel John Jones と AbletonOSC
- Ableton Third Party Remote Scripts
- 絶え間ないひらめきとリソースを提供してくださった Julien Bayle @Structure Void
TODO
- リソース と プロンプト のプリミティブの活用方法を調査する。
- スタンドアロンの Ableton Live MCP クライアントを構築する。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
