コンテンツにスキップ

MCP(AIエージェント連携)

MCP(Model Context Protocol)を使うと、対応するAIエージェントから、開いているskulptonのプロジェクトを確認・編集できます。たとえば「BPMを120にして」「このクリップを1/16でクオンタイズして」と依頼できます。

  1. skulptonの Preferences → AI Agent を開きます。
  2. Enable MCP bridge をオンにします。
  3. プロジェクトを変更する操作も許可する場合は、Allow write operations をオンにします。初期設定ではオフです。
  4. MCPクライアントに skulpton-mcp をstdioサーバーとして登録します。

ブリッジはlocalhostだけで待ち受け、接続情報と一時トークンは有効中だけdescriptorファイルへ保存されます。MCPクライアントは skulpton-mcp を介してこの接続情報を読み取ります。

書き込み操作には confirm: true が必要です。変更前の内容を確認したい場合は、同じ操作を dryRun: true で呼び出せます。dryRun でも引数と対象 ID は検証され、変更対象の entity・件数・runtime への影響・上書きされるファイルを含む変更計画が返ります。プロジェクトやファイルは変更されません。読み取り操作に書き込み許可や確認は必要ありません。

「読み取り」はプロジェクトを変更しません。「書き込み」は Allow write operationsconfirm: true が必要です。

分類MCPツール種別操作
プロジェクトproject.get_current読み取り制作向けに整理した現在のプロジェクト、選択状態、Transportを取得
プロジェクトproject.get_raw読み取り現在のプロジェクト状態を完全な形式で取得
履歴history.get_status読み取りundo/redoの可否と履歴件数を取得
履歴history.undo書き込み直前のプロジェクト編集を取り消す
履歴history.redo書き込み取り消したプロジェクト編集をやり直す
タイムラインproject.get_timeline読み取りtempo、拍子、track順、clip範囲の要約を取得
ミキサーmixer.get_state読み取り保存対象のミキサーとrouting状態を取得
ミキサーmixer.master.update書き込みMasterのgain、pan、mute、nameを更新
ミキサーmixer.return.add書き込みReturn Busを追加
ミキサーmixer.return.update書き込みReturn Busのgain、pan、mute、nameを更新
ミキサーmixer.return.remove書き込みReturn Busと依存send/routingを削除
ミキサーmixer.track.set_send書き込みTrack sendの宛先、gain、pre/post-faderを設定または解除
ミキサーmixer.bus.set_send書き込みReturn Busの送出先をcycle検証付きで設定またはMasterへ戻す
Automationautomation.get_state読み取り対象アレンジのautomation laneとpointを取得
プラグインplugin.get_chains読み取りtrack/busごとのplugin chainを取得
MIDIポートmidi.get_ports読み取り接続中のMIDI入出力ポートを取得
プロジェクトproject.save_current書き込み現在の保存先または指定パスへ保存
プロジェクトproject.set_name書き込みプロジェクト名を変更
プロジェクトproject.set_bpm書き込みBPMを変更
プロジェクトproject.set_tempo_map書き込みtempo mapを置換
プロジェクトproject.set_time_signature_map書き込み拍子mapを置換
プロジェクトproject.set_quantize_settings書き込みprojectのquantize設定を置換
プロジェクトproject.set_length_bars書き込みプロジェクトの長さ(小節数)を変更
プロジェクトproject.set_scale書き込みスケールを設定または解除
プロジェクトproject.set_notes書き込みプロジェクトのメモを更新または消去
MIDI書き出しmidi.export_clip書き込みMIDIクリップをStandard MIDI Fileへ書き出し
MIDI書き出しmidi.export_project書き込み現在のアレンジをStandard MIDI Fileへ書き出し
プラグインplugin.list_available読み取りキャッシュ済みの利用可能なプラグインを取得
プラグインtrack.assign_instrument書き込みInstrument Trackへ音源プラグインを割り当て
アレンジarrangement.create書き込みアレンジを新規作成
アレンジarrangement.duplicate書き込み既存のアレンジを複製
アレンジarrangement.set_active書き込み使用するアレンジを切り替え
アレンジarrangement.rename書き込みアレンジ名を変更
アレンジarrangement.remove書き込みScratch Padを削除
アレンジarrangement.copy_clips書き込みactive arrangementのclipを別アレンジへコピー
トラックtrack.add書き込みMIDI、Audio、Instrument Trackを追加
トラックtrack.update書き込みトラック名、色、MIDIルーティングなどを更新
トラックtrack.remove書き込みtrackと依存するclip/routingを削除
トラックtrack.reorder書き込みtrack順を変更
トラックtrack.set_initial_program書き込み再生開始時のMIDI Program Changeを設定
トラックtrack.set_output_bus書き込みmain outputのmaster/folder bus routingを設定
トラックtrack.set_mixer_input書き込みaudio/instrument trackの入力routingを設定
MIDIクリップmidi_clip.add書き込みアクティブなアレンジへMIDIクリップを追加
Automation laneautomation_lane.add書き込みtrackへgain/pan/MIDI CC/plugin parameter laneを追加
Automation laneautomation_lane.update書き込みlane名または権威targetを更新し、所属clip targetも同期
Automation laneautomation_lane.remove書き込みlaneと全arrangementの所属clipを削除
Automation clipautomation_clip.add書き込み既存laneへ検証済みenvelope clipを追加
Automation clipautomation_clip.update書き込みclip名、範囲、point envelopeをatomicに更新
Automation clipautomation_clip.remove書き込みactive arrangementからclipを削除
Automation clipautomation_clip.move書き込み複数clipを1 transactionで絶対beatへ移動
Automation clipautomation_clip.duplicate書き込みstable IDでclipを直後へ複製
Automation clipautomation_clip.slice書き込み絶対beatで補間点を挿入し、再生値を連続に保って分割
Automation clipautomation_clip.merge書き込み同一track/lane/targetのclipを境界挙動を保って結合
Automation pointautomation_point.add_many書き込みclip-local beat/正規化値/curveのpointを一括追加
Automation pointautomation_point.update_many書き込みindex指定のpointを全件検証して一括更新
Automation pointautomation_point.delete_many書き込みindex指定のpointを全件検証して一括削除
Automation pointautomation_point.replace_all書き込みclip内のpoint envelopeを検証済みpointで全置換
Automation pointautomation_point.simplify書き込みclip全体またはindex部分集合を決定的に簡略化
MIDIクリップmidi_clip.update書き込み開始位置、長さ、名前を更新
AudioClipaudio_clip.add書き込みAudioFileRefを指定してAudioClipを追加
AudioClipaudio_clip.update書き込み配置、長さ、素材参照などを更新
AudioClipaudio_clip.update_edit書き込みsource native frameのtrim、gain、fade、gain envelopeを更新
AudioClipaudio_clip.set_warp書き込みsource native frameとbeatでwarp定義を設定
AudioClipaudio_clip.remove書き込みAudioClipを削除
AudioClipaudio_clip.move書き込みAudioClipをaudio track間で移動
AudioClipaudio_clip.duplicate書き込みstable IDでAudioClipを複製
AudioClipaudio_clip.slice_many書き込み複数beat位置で1 transaction分割(全入力atomic validation)
AudioClipaudio_clip.merge書き込み同一素材の連続sliceを1 transactionで再結合
AudioClipaudio_clip.toggle_crossfade書き込み重なる2 clipのequal-power crossfadeをトグル
AudioClipaudio_clip.consolidate書き込みoffline render成功後だけ元clip群を1 clipへ置換
AudioClipaudio_clip.bounce_instrument書き込みinstrument clipをoffline renderし新規AudioTrackへ配置
MIDIクリップmidi_clip.move書き込み別トラックまたは別の開始位置へ移動
MIDIクリップmidi_clip.duplicate書き込み1つ以上のクリップをまとまりとして複製
MIDIクリップmidi_clip.slice書き込み指定した絶対beat位置で分割
MIDIクリップmidi_clip.merge書き込み同じトラック上のクリップを結合
MIDIクリップmidi_clip.bounce書き込みレンダリング済みノートをMIDIクリップとして固定
coding notecoding_note.set_code書き込みクリップのcoding noteコードを更新
coding notecoding_note.render書き込みcoding noteを実行し、ノートとCC laneを生成
coding notecoding_note.clear_render書き込み保存されたレンダリング結果を消去
coding notecoding_note.set_loaded_libs書き込みクリップが読み込む libs/codes を設定
coding notecoding_note.set_disabled_factory_libs書き込みクリップで無効にするfactory libを設定
coding notecoding_note.bounce_render書き込みレンダリング結果を編集可能なsource noteへ固定
ノートnote.add_many書き込み1つ以上のsource noteを追加
ノートnote.update_many書き込み1つ以上のsource noteを更新
ノートnote.delete_many書き込み1つ以上のsource noteを削除
ノートnote.replace_all書き込みクリップ内のsource noteをすべて置換
ノートnote.quantize書き込み選択したノートをbeat gridへクオンタイズ
ノートnote.nudge書き込み選択したノートの位置やpitchを相対移動
ノートnote.copy_bar書き込み指定小節のノートを別の小節へコピー
チャンネルlanechannel_lane.add書き込みCC、pitch bend、channel aftertouch laneを追加
チャンネルlanechannel_lane.update書き込みチャンネルlaneを更新
チャンネルlanechannel_lane.delete書き込みチャンネルlaneを削除
チャンネルeventchannel_event.add書き込みCC、pitch bend、channel aftertouch eventを追加
チャンネルeventchannel_event.update書き込みチャンネルeventを更新
チャンネルeventchannel_event.delete書き込みチャンネルeventを削除
Transporttransport.play書き込みinsertion markerから再生
Transporttransport.pause書き込み現在位置で一時停止
Transporttransport.stop書き込み再生を停止
Transporttransport.seek書き込み指定した絶対beat位置へ移動
Transporttransport.set_loop書き込みループ範囲の設定、更新、解除

MCP v1では、プラグインのスキャンや管理、プラグイン画面の操作、デバイス操作には対応していません。ミキサーはMaster・Return Bus・sendの永続編集に対応しますが、メーターなどのruntime表示は対象外です。plugin.list_available が返すのは、skulptonがすでにキャッシュしているプラグイン情報です。

  • skulptonが起動しているか確認する
  • Enable MCP bridge がオンか確認する
  • PreferencesのStatusが Listening になっているか確認する
  • MCPクライアントを再起動して、descriptorを読み直す
  • 編集だけ失敗する場合は Allow write operations と確認パラメーターを確認する