エージェント連携が開放するもの
誰が Studio の MCP エンドポイントに到達できるか、エージェントが何を変更し何を読み取れるか、それを制限するスイッチ
エージェント連携は、コンピューター上のプログラムに、Studio で開いているプロジェクトの読み取りと変更を許します。このページでは、それが何によって守られているかを説明します。
オンにするまで何も待ち受けない
新しいプロファイルではエージェントの接続を許可はオフです。オンにするまで Studio は何も提供しません。オフにすればエンドポイントはすぐに止まります。
このコンピューターからのみ
エンドポイントは 127.0.0.1 にだけバインドされるので、ほかのマシンからは到達できません。ただし、ローカルであるだけでは足りません。開いた Web ページは、どれも自分のコンピューターにリクエストを送れるからです。そのため、すべてのリクエストは中身を読む前に検査されます。
Originヘッダーを持つリクエストは拒否します。 ブラウザはこのヘッダーを送りますが、MCP クライアントはプログラムなので送りません。これにより、ポートにリクエストを送る Web ページを締め出します。自分のホスト名を127.0.0.1に向けるページも含みます。Hostヘッダーはエンドポイントを指している必要があります。127.0.0.1またはlocalhostとそのポートです。- リクエストにはアクセストークンが必要です。
Authorization: Bearer <token>の形で付けます。トークンがない、または誤っているリクエストは拒否されます。 - 1 つのリクエストは最大 4 MB です。 エージェントが送る最大のものは、テキストにしたシーンかページです。
リクエストの内容がコードとして評価されることはありません。各呼び出しの引数は、実行前にツールのスキーマに照らして検査されます。
アクセストークン
Studio はトークンを、ほかのエージェント連携の設定とともに、ユーザーデータフォルダーの agent-mcp.json に保存します。macOS と Linux では、このファイルは自分のアカウントしか読めません。Windows ではユーザーデータフォルダーの権限に依存します。トークンは、エクスポートして共有されることの多い Studio の一般設定には置かれません。
エージェント連携がオンの間、トークンを読めるものは何でもプロジェクトを変更できます。パスワードと同じように扱ってください。トークンを変更 → 再生成はすぐに新しいトークンを発行します。古いトークンで設定したクライアントは次のリクエストから拒否され、設定をコピーし直す必要があります。stdio のエントリーはトークンを含まないので、そのまま使えます。
トークンがプロジェクトのウィンドウに渡ることはありません。プロジェクトのウィンドウはプラグインのコードを実行するので、そのエージェントメニューが知らされるのは、エージェント連携がオンか、変更が許可されているか、フルアクセスがオンか、エンドポイントが動いているかだけです。このメニューからの設定のコピーはウィンドウの外で行われ、直接クリップボードに書き込まれます。
設定をコピーすると、トークンがシステムのクリップボードに置かれ、ほかのプログラムやクリップボードの履歴から読めるようになります。必要な場所に貼り付け、見られたおそれがあればトークンを再生成してください。
エージェントが変更できるもの
変更は既定でオフです。 エージェントによる変更を許可がオフの間、エージェントは開いているプロジェクトを読み取れますが、変更はすべて拒否されます。プロジェクトのウィンドウのエージェントメニューからオンにするときは、Studio のウィンドウで**エージェントによるプロジェクトの変更を許可する?**と確認を求めます。プロジェクトのウィンドウ内のプラグインのコードはこれに答えられません。Studio 自身のウィンドウでの確認を参照してください。オフにするときは確認しません。フルアクセスでも変更が許可されます。
一時停止は 1 つのプロジェクトの変更を止めます。 エージェントが一時停止している間、そのプロジェクトへの変更はすべて拒否されます。読み取りはできます。
取り込み中のプロジェクトは変更を拒否します。 プロジェクトが凍結されている間は変更を受け付けません。過去のバージョンを表示している、手動で凍結した、バージョン管理のマージが終わっていない、Studio がリカバリーモードにある、別の Studio ウィンドウがプロジェクトを引き継いだ、のいずれかです。Team のライブセッション中も、参加者と競合しないよう、エージェントの変更は拒否されます。
変更は Studio を通ります。 エージェントには、プロジェクトフォルダーのファイルに直接書き込むツールがありません。変更はすべて手作業の編集と同じサービスを通るので、エディタに表示され、1 ステップの取り消しになり、手作業と同じようにチェックされます。チェックを通らないシーン、ページ、ブループリントは書き込まれません。
信頼されていないプロジェクトは実行されません。 Studio が作成したのではないプロジェクトは、信頼するまでテストプレイもビルドもできません。エージェントでも作者でも同じです。ステータスバーの未信頼、または設定 → データ → 信頼済みプロジェクトで信頼できます。
プロジェクト外のフォルダー
エージェントは、コンピューター上のファイルを読み取ってプロジェクトに読み込みます。画像、音声、フォント、そしてレイヤー立ち絵のキャラクターを構成するための PSD です。プロジェクト内と、素材を読み込めるフォルダーに登録したフォルダーのファイルは、確認なしで読み取れます。
ほかのフォルダーは作者に尋ねます。 呼び出しがそれ以外の場所のファイルを必要とすると、Studio はプロジェクトのウィンドウの上に**エージェントにフォルダーの読み取りを許可する?**を開きます。画面の前の作者が始めた呼び出しではないため、この確認はほかのアプリケーションから前面を奪いません。求めたプロジェクトのウィンドウの上にとどまり、macOS では Studio の Dock アイコンが弾み、Windows と Linux ではタスクバーのボタンが点滅します。Studio がすでに前面にあれば、確認にフォーカスが移ります。求めているクライアントと、ファイルのある各フォルダーが、1 回に最大 5 つまで示されます。エージェントが request_folder_access で事前に求めた場合は、エージェントが示した目的も、エージェントが示した目的: に続けてその言葉のまま表示されます。Studio が尋ねるのはファイルのあるフォルダーそのもので、それより広い範囲ではありません。広げてまとめるのは、必要なフォルダーが 5 つを超え、その一部が親フォルダーを共有するときだけです。
- このフォルダーへのアクセスを許可またはこれらのフォルダーへのアクセスを許可を選ぶと、エージェントはそれらを読み取れるようになり、フォルダーは素材を読み込めるフォルダーに追加されます。削除でいつでも外せます。
- 拒否を選ぶと、その呼び出しは拒否されます。拒否してから 60 秒間は、同じフォルダーは確認を出さずに拒否済みとして答えられます。すぐに再試行するエージェントが、同じ質問を何度も作者の前に出すことはできません。エージェントには、もう求めずに会話の中で作者に尋ねるよう伝えられます。
- ウィンドウを閉じる、または Escape キーを押すことは、拒否と同じです。
確認は、どのプロジェクトのウィンドウから求められても、一度に 1 つだけ表示されます。1 回の呼び出しが答えを待つのは約 50 秒までです。それまでに答えがなければ、エージェントにはそのフォルダーが作者の答えを待っていると伝えられ、確認はそのまま開いています。許可すれば、エージェントの次の試行は通ります。
決して開放されないフォルダーがあります。 フルアクセスの有無にかかわらず、ドライブやファイルシステムのルート、ホームフォルダー全体、ホームフォルダーを含むフォルダー、そして Studio 自身のフォルダー(アクセストークンを含む設定のフォルダーとアプリケーション本体)と、それらを含むフォルダーです。これらを求めたエージェントには、ファイルが実際にある内側のフォルダーを指定するよう伝えられます。
フルアクセス
設定 → エージェント連携のフルアクセスと、プロジェクトのウィンドウのエージェントメニューにあるエージェントにフルアクセスを許可は同じスイッチで、既定ではオフです。どちらからオンにしても、先に**エージェントにフルアクセスを許可する?**と確認を求めます。オフにするときは確認しません。
オンの間は次のようになります。
- エージェントによる変更を許可の状態にかかわらず、エージェントはプロジェクトを変更できます。そのスイッチはオンと表示され、フルアクセスをオフにするまで切り替えられません。
- エージェントは確認なしで任意のフォルダーのファイルを読み取れます。そのフォルダーは素材を読み込めるフォルダーには追加されません。
- 決して開放されないフォルダー、つまり Studio 自身のフォルダー、ホームフォルダー全体、ドライブのルートは閉じたままです。
- 一時停止、プロジェクトの凍結、Team のライブセッション、すべての変更が通るチェックは、そのまま有効です。
フルアクセスは範囲の広い許可です。オンの間、アクセストークンを持つプログラムは、自分のアカウントで開ける任意のフォルダーのファイルを読み取れます。ホームフォルダー内の、個人的な文書やほかのプログラムの設定を収めたフォルダーも含まれます。さらに、開いている任意のプロジェクトを変更できます。そのとき作者には何の確認も表示されません。除外されるフォルダーが防ぐのは、最も広い範囲の要求と Studio 自身のトークンだけです。また、エージェントは読んだ内容に従って動くので、フルアクセスは、エージェントに渡るすべてのものを信頼することを意味します。作業を見守っている間だけオンにし、終わったらオフにしてください。普段は、求められたフォルダーを 1 つずつ許可するほうが、エージェントを必要なものだけにとどめられます。
Studio 自身のウィンドウでの確認
エージェント連携が作者に尋ねることは、すべてエージェント連携という題の Studio のウィンドウで開きます。変更を許可するか、フルアクセスを与えるか、フォルダーの読み取りを許可するか、書き出す Agent Skill で同じ名前のファイルを置き換えるかです。このウィンドウは Studio 自身がプロジェクトのウィンドウの外に開くので、プロジェクトのウィンドウで動くプラグインのコードからは見ることも答えることもできません。作者自身が何かをオンにしたりスキルを書き出したりして出た確認は前面に出ます。エージェントが求めたフォルダーの確認は、プロジェクト外のフォルダーのとおり前面を奪わずに表示されます。同意とみなされるのは、ウィンドウの許可または置き換えのボタンだけです。Escape キーを押す、ウィンドウを閉じる、それが属するプロジェクトのウィンドウを閉じる、のいずれも拒否とみなされます。
プラグインのツール
プラグインは、エージェント向けに独自のツールを提供できます。プラグインのツールを参照してください。
同じ検査を通ります。 プロジェクトを変更するプラグインのツールは、変更が許可されていない間、一時停止中、プロジェクトの凍結中、ライブセッション中に拒否されます。Studio 自身のツールとまったく同じです。プラグインがこれを回避することはできません。
読み取りのツールは書き込めません。 プラグインが読み取り用として登録したツールの実行中、そのプラグインの保存データへの書き込みはすべて拒否されます。書き込み用のツールがそのデータに加えた変更は、1 ステップの取り消しとして記録されます。
事前に知らされます。 プラグインがエージェント向けのツールを提供する場合、インストール時の確認の AI エージェント にそのことが、ツールの数とそのうちプロジェクトを変更できるものの数とともに示されます。後のバージョンがツールを追加したり、読み取りのツールをプロジェクトを変更するツールに変えたりすると、もう一度確認されます。
プラグインごとにオフにできます。 設定 → エージェント連携 → プラグインのツールには、ツールを提供する有効なプラグインが並び、それぞれに … のエージェント用ツールを許可 があります。ここでオフにしたプラグインのツールはエージェントに表示されず、呼び出しも拒否されます。
プラグインのコードとして動きます。 プラグインのツールは、そのプラグイン自身の権限でプロジェクトのウィンドウの中で動きます。プラグインはサンドボックス化されていないので、インストール時にプラグインに与えた信頼はそのツールにも及びます。プラグインをインストールするを参照してください。
エージェントが到達できる範囲
エージェントは、コンピューター上のどのプロジェクトフォルダーでもパスを指定して開けますし、どのフォルダーにでもプロジェクトを作成できます。作者が Studio でできるのと同じです。ビルドは、エージェントが別の場所を指定しない限りプロジェクトのビルドフォルダーに書き出されます。エージェント連携は、エージェントがどのプロジェクトを開くかは制限しません。上記のスイッチが制限するのは、そこで何をしてよいかです。プロジェクトの外で何を読み取れるかは、プロジェクト外のフォルダーのとおりです。
エージェントが行ったことは、プロジェクトのウィンドウのエージェントログと Studio 自身のログに残ります。エージェントでゲームを作るを参照してください。