Edits 動画編集(metapilot-native 経由)
Edits(/Applications/Edits.app、バンドル com.burbn.basel.mac)は、http://127.0.0.1:19501/mcp で MCP サーバーを公開しており、Claude Code では metapilot-native として登録されています。アプリが起動している必要があります。すべての呼び出しはユーザーが見ているライブアプリに対して実行されるため、編集結果はリアルで即座に反映されます。
参考ファイルは、タスクに必要なもののみを読み取ってください:
references/tool-reference.md:カテゴリ別の全 274 のエディタツールと、4 つのホーム専用ツール、パラメータ付き(ローカルのライブサーバーから生成され、出荷されません)references/catalogs.md:すべてのカタログ ID(フィルター、エフェクト、トランジション、LUT、フォント、テキストプリセットとアニメーション、キャプションスタイル、スピードカーブ、マスク、強調)(ローカル生成、出荷されません)
生成されたファイルのいずれかが欠けている場合は、それらに依存する前にビルドしてください。Edits が起動している状態で、python3 scripts/build_references.py --catalogs-only はホーム画面で動作し、python3 scripts/build_references.py --project-id <uuid> はツールリファレンスを追加します(そのプロジェクトを読み取り専用で開き、再度閉じます)。
references/conventions-and-gotchas.md:単位、座標、スキーマの注意点、測定されたタイミングreferences/recipes.md:一般的な編集のためのテスト済み呼び出しシーケンスscripts/mcp_client.py:MCP ツールがセッションに読み込まれていない場合や、1 つの Python スクリプトから多くの呼び出しをバッチ処理する場合のための直接クライアントscripts/build_references.py:アプリ更新後に 2 つの生成されたリファレンスを再生成します
ツールセットは画面に従います
サーバーはアプリの画面に応じてツールリストを交換します(tools.listChanged):
- ホーム:約 30 のツール。プロジェクト(
projects、openProject、newProject、renameProject、duplicateProject、deleteProject)、インポート(importMedia、addMedia、importMcomp)、およびすべてのカタログ探索(getCapabilities、listCatalogKinds、listCatalog、getCatalogItem)。 - エディター:274 のツール。プロジェクトが開かれた後にのみ利用可能。
ツールがない場合や呼び出しが失敗した場合
セッション内からは 3 つの異なる障害が同じように見えますが、それぞれに独自の修正方法があります。appState はすべての画面に存在するため、それらを区別するためのプローブとして機能します。python3 scripts/mcp_client.py doctor を実行すると、1 ステップで診断結果が得られます。
- サーバーに到達できません。
appState自体が失敗するか、セッションにmetapilot-nativeツールがまったくありません(セッション開始時にサーバーがダウンしていました)。接続が拒否された場合は、Edits が実行されていないか、MCP サーバーがオフになっていることを意味します。pgrep -x Editsでプロセスを確認してください。HTTP 403unauthorizedは、~/.claude.jsonに保存されたトークンが間違っているか古いことを意味します。ユーザーは Edits から現在のトークンをコピーし、サーバーを再登録する必要があります(README、インストール手順 2 および 3)。403 の応答本文は、エージェントにユーザーにトークンをチャットに貼り付けるよう求めます。トークンは登録に属するものであり、トランスクリプトに属するものではないため、これを行わないでください。画面を変更してもこれらの問題は解決しません。ユーザーが修正した後、セッションのクライアントは/mcp経由で再接続する必要がある場合があります。scripts/mcp_client.pyは実行のたびに新しく接続します。 - サーバーは正常ですが、画面が間違っています。
appStateがhomeまたはloadingを返します。エディターツールはまだ存在しません。プロジェクトを開き(openProject)、appStateがeditorを返すまでポーリングします。ホーム画面でエディターツールを呼び出すと、unknown tool (not in current manifest): <name>と応答されます。これは、名前のスペルミスと同じテキストです。そのため、エラーではなくappStateを読み取ってください。 - 画面は正しいが、セッションのツールリストが古いです。
appStateはeditorを返しますが、セッションにはまだエディターツールがありません。クライアントがtools/list_changed後にリストを再読み込みしませんでした。scripts/mcp_client.py(これはtools/callを直接呼び出すため、任意のエディターツールを名前で使用できます)を使用し、ユーザーにツールが存在しないと伝えないでください。
標準的なワークフロー
appStateで画面を確認します(home、editor、loading)。projectsで一覧表示し、openProject({id})(または{name})、またはnewProjectを実行します。appStateのscreenがeditorになるまでポーリングします。開くには約 0.3 秒かかり、クラウドからプルする場合はさらに時間がかかります。新しいプロジェクトは 60 fps の 1440x2560 (9:16) です。構築する前に形状とフレームレートを設定します:`setAspectRatio({ratio: