MCP MIDI サーバー
LLM が MIDI 入力をサポートする任意のソフトウェアに MIDI シーケンスを送信できるようにする FastMCP サーバー。
特徴
仮想MIDI出力ポートを作成します
MIDIノートオン/オフメッセージを送信します
制御変更(CC)メッセージを送信する
正確なタイミングでMIDIイベントをシーケンスします
MIDIをサポートするあらゆるアプリケーションでMIDI入力デバイスとして使用できます。
Related MCP server: Awesome MCP FastAPI
要件
Python 3.7以上
rtmidi
ファストmcp
Python-dotenv
非同期
インストール
リポジトリをクローンします。
git clone <repository-url> cd mcp-server-midi仮想環境を作成し、アクティブ化して依存関係をインストールします。
python -m venv .venv source .venv/bin/activate pip install -r requirements.txt設定を含む
.envファイルを作成します。PORT=8123
使用法
サーバーを実行します。
サーバーは「MCP MIDI Out」という仮想MIDIポートを作成します。このポートは他のアプリケーションでMIDI入力デバイスとして使用できます。これにより、以下のことが可能になります。
Ableton Live、Logic Pro、FL Studioなどのデジタルオーディオワークステーション(DAW)を接続して、このサーバーからMIDIを受信します。
サーバーを使用して、コンピューターのMIDIインターフェースを介してハードウェアシンセサイザーを制御します。
MIDI 入力を受け入れる他のソフトウェア (仮想楽器、照明コントローラーなど) に接続します。
お好みの MIDI 対応アプリケーションで、MIDI 入力デバイスとして「MCP MIDI Out」を選択するだけです。
MCP 構成
サーバーは Server-Sent Events (SSE) を使用します。Cursor でこれを設定する方法は次のとおりです。
APIメソッド
メモを送信
MIDI Note On メッセージを送信します。
パラメータ:
note:MIDIノート番号(0-127)velocity: ノートのベロシティ (0-127、デフォルト 127)channel: MIDIチャンネル(0〜15、デフォルトは0)
ノート送信オフ
MIDI ノートオフ メッセージを送信します。
パラメータ:
note:MIDIノート番号(0-127)velocity: ノートオフベロシティ (0-127、デフォルト 64)channel: MIDIチャンネル(0〜15、デフォルトは0)
コントロール変更を送信
MIDI コントロール チェンジ (CC) メッセージを送信します。
パラメータ:
controller:CCコントローラ番号(0-127)value: CC値 (0-127)channel: MIDIチャンネル(0〜15、デフォルトは0)
MIDIシーケンスを送信する
指定された期間の MIDI ノート オン/オフ メッセージのシーケンスを送信します。
パラメータ:
events: イベント辞書のリスト。各辞書には以下の情報が含まれている必要があります。note:MIDIノート番号(0-127)velocity: ノートのベロシティ (0-127、デフォルト 127)channel: MIDIチャンネル(0〜15、デフォルトは0)duration: Note Offを送信する前にノートを保持する時間(秒)start_time: シーケンスの開始からの相対的なノート開始時間(秒)(デフォルトは 0)
例
API を使用して C メジャー コードを演奏する:
ライセンス
マサチューセッツ工科大学