Reaper Reapy Mcp について
reaper_reapy_mcp は MCP を通じてデジタルオーディオワークステーション REAPER を操作する Python アプリケーションです。python-reapy 上に構築されており、作曲、ミキシング、プロジェクト管理を AI アシスタントで支援したい音楽制作者や開発者を対象としています。
主な機能
- 01トラックの作成・名前変更・色設定
- 02FX の追加とパラメーター制御
- 03テンポ、マーカー、リージョンの設定
- 04MIDI ノートの追加と取得
- 05秒または小節:拍によるアイテム位置指定
活用シーン
- 01アシスタントによるトラック構成と色設定の高速化
- 02作曲のための MIDI ノートの一括追加
- 03マスタートラックの音量、パン、ミュート、ソロの調整
MCP 対応
MCP サーバーとしてトラック、FX、プロジェクト、MIDI、オーディオアイテムのツールを公開し、stdio と HTTP の両方のモードで動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Reaper と MCP または AI の連携
MCP(Model context protocol)を使用して、REAPER Digital Audio Workstation(DAW)を操作する Python アプリケーションです。


機能
- トラック管理:トラックの作成、名前の変更、色の設定
- FX 管理:エフェクトパラメーターの追加、削除、操作
- プロジェクト制御:テンポの設定、リージョンとマーカーの管理
- マスタートラック制御:音量、パン、ミュート、ソロの操作
- MIDI 操作:音楽的な位置指定によるアイテムの作成、ノートの追加・取得、アイテムの消去
- オーディオアイテム操作:位置指定の拡張機能を使った挿入、複製、変更
- 2 種類の位置形式:時間(秒)と小節:拍表記の両方をサポート
- 信頼性の高い複製:正確なアイテムのコピーに REAPER の組み込みコマンドを使用
- MCP 連携:AI アシスタントが操作するための Model Context Protocol サーバー
ステータス
- Linux で確認済み:はい
- MCP HTTP モード:パラメーターに対応
必要条件
- Python 3.7 以降
- REAPER DAW
python-reapyPython モジュール- MCP サーバー用の
mcp[cli]パッケージ - インターネット接続(サンプルオーディオファイルのダウンロード用)
インストール
- まだインストールしていない場合は、REAPER をインストールします
- REAPER のスクリプト機能で reapy サーバーを有効にします
reaper_side_enable_server.pyを REAPER のアクションに追加し、REAPER Studio 内で実行します - パッケージをインストールします:
# From PyPI pip install reaper_reapy_mcp # From GitHub repository pip install git+https://github.com/wegitor/reaper-reapy-mcp.git - REAPER で Python を有効にします
wheel パッケージには必要な依存関係がすべて含まれており、REAPER との連携を必要とするほかの Python プロジェクトでも使用できます。このプロジェクトでは、最新の Python パッケージ設定に pyproject.toml を使用しており、依存関係の管理とビルドシステムの設定が改善されています。
サンプルオーディオファイル
このアプリケーションでは、オーディオ操作のテストにサンプル MP3 ファイルを使用します。必要に応じて、次の場所からファイルが自動的にダウンロードされます:
https://www2.cs.uic.edu/~i101/SoundFiles/StarWars3.mp3
これは、オーディオアプリケーションのテストによく使われる、短いスター・ウォーズのテーマ曲のクリップです。
サーバーの実行
uv を使ってサーバーを直接実行できます:
uv --directory <project_path> run -m reaper_reapy_mcp
現在のディレクトリで HTTP MCP モードを使用する場合:
uv --directory . run -m reaper_reapy_mcp --mode http
たとえば、Windows の場合:
uv --directory C:\path\to\reaper_reapy_mcp run -m reaper_reapy_mcp
または、インストール後に Python モジュールを直接使用する場合:
python -m reaper_reapy_mcp
HTTP モード
デフォルト設定で HTTP モードのサーバーを実行します:
python -m reaper_reapy_mcp --mode http
ホストとポートを指定して実行します:
python -m reaper_reapy_mcp --mode http --http-host example_host --http-port 3958
MCP Inspector を使ってツールをテストします:
test_mcp.bat
利用可能な MCP ツール:
トラック管理
test_connection:REAPER への接続を確認create_track:新しいトラックを作成rename_track:既存のトラック名を変更set_track_color:トラックの色を設定get_track_color:トラックの色を取得get_track_count:プロジェクト内のトラック数を取得get_track_list:すべてのトラックとそのプロパティの一覧を取得
FX 管理
add_fx:トラックに FX を追加remove_fx:トラックから FX を削除set_fx_param:FX パラメーターの値を設定get_fx_param:FX パラメーターの値を取得get_fx_param_list:FX パラメーターの一覧を取得get_fx_list:トラック上の FX の一覧を取得get_available_fx_list:利用可能な FX プラグインの一覧を取得toggle_fx:FX の有効・無効を切り替え
プロジェクト制御
set_tempo:プロジェクトのテンポを設定get_tempo:現在のテンポを取得get_time_signature:現在の拍子記号を取得set_project_time_signature:プロジェクトのデフォルトの拍子記号を設定set_time_signature:指定位置の拍子記号を設定create_region:リージョンを作成delete_region:リージョンを削除create_marker:マーカーを作成delete_marker:マーカーを削除render_project:プロジェクトをオーディオファイルにレンダリング
マスタートラック
get_master_track:マスタートラックの情報を取得set_master_volume:マスタートラックの音量を設定set_master_pan:マスタートラックのパンを設定toggle_master_mute:マスタートラックのミュートを切り替えtoggle_master_solo:マスタートラックのソロを切り替え
MIDI 操作
create_midi_item:トラックに空の MIDI アイテムを作成します- 時間(秒)と小節:拍のどちらの形式でも位置を指定できます
add_midi_note:MIDI アイテムに MIDI ノートを追加しますadd_midi_notes:複数の MIDI ノートを一度に追加しますget_midi_notes:MIDI アイテムからすべての MIDI ノートを取得しますclear_midi_item:MIDI アイテムからすべての MIDI ノートを消去します
オーディオアイテム操作
insert_audio_item:オーディオファイルをメディアアイテムとして挿入します- 時間(秒)と小節:拍のどちらの形式でも位置を指定できます
duplicate_item:既存のアイテム(MIDI またはオーディオ)を複製します- 信頼性の高い複製のため、REAPER に組み込まれた複製機能を使用します
- 時間(秒)と小節:拍のどちらの形式でも位置を指定できます
get_item_properties:メディアアイテムのプロパティを取得しますset_item_position:メディアアイテムの位置を設定します- 時間(秒)と小節:拍のどちらの形式でも位置を指定できます
set_item_length:メディアアイテムの長さを設定しますdelete_item:メディアアイテムを削除しますget_items_in_time_range:時間範囲内のアイテムを取得します- 時間(秒)と小節:拍のどちらの形式でも範囲を指定できます
アイテム ID システム
すべてのアイテム操作では、アイテムを識別するために連続したインデックスシステム(0..n)を使用します。これにより、スクリプトや自動化でアイテムを扱いやすくなります。
- アイテム ID は 0 から始まるインデックスです
- 各トラックはそれぞれ独自のアイテムインデックス列を保持します
- インデックスはアイテムが削除または並べ替えられるまで安定しています
- すべてのアイテム操作(MIDI、オーディオ、プロパティ)で同じインデックスシステムを使用します
位置形式のサポート
多くの MCP ツールで、音楽制作ワークフローをより便利にする 2 種類の位置形式をサポートするようになりました。
時間形式(秒)
{
"start_time": 15.5,
"new_time": 30.0
}
小節:拍形式
{
"start_measure": "3:2,500",
"new_measure": "5:1,000"
}
形式:「"measure:beat,fraction"」で、各項目は次のとおりです。
measure:1 から始まる小節番号beat:1 から始まる拍番号fraction:拍の小数部分を表すミリ秒(000~999)- 例:「
"4:2,500"」=4 小節目、2 拍目、半拍(500ms)
両方の形式に対応するツール:
create_midi_item-start_timeまたはstart_measureで位置を指定insert_audio_item-start_timeまたはstart_measureで位置を指定duplicate_item-new_timeまたはnew_measureで位置を指定set_item_position-new_timeまたはnew_measureで位置を指定get_items_in_time_range- 時間または小節のパラメーターで範囲を指定
Claude の設定(uv run を使用):
{
"mcpServers": {
"reaper-reapy-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"<path to folder>",
"run",
"-m",
"reaper_reapy_mcp"
]
}
}
}
Claude の設定(直接実行):
{
"mcpServers": {
"reaper-reapy-mcp": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"reaper_reapy_mcp"
]
}
}
}
または
{
"mcpServers": {
"reaper-reapy-mcp": {
"type": "stdio",
"command": "python",
"args": [
"<path to folder>\\src\\reaper_reapy_mcp.py"
]
}
}
}
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。