メインコンテンツへスキップ
MCP サーバーへのすべてのリクエストにはキーが付いています。Claude や ChatGPT を認可したときに受け取ったキーか、あなたが作成した API キーです。接続するにはキーに mcp スコープが必要で、ほかのスコープによってクライアントに見えるツールが決まります。キーのスコープ外のツールは一覧に表示されず、呼び出すと不明なツールとして扱われます。

スコープ

一部の呼び出しは、引数に応じてスコープを確認します。get_metrics_history には、アプリケーションなら apps:read、データベースなら databases:read が必要です。connect_to_app を指定した create_database には databases:credentials と envs:write も、restart を指定した set_env_vars には apps:control も、snapshot を指定した commit_application には snapshots:write も必要です。必要なスコープがないと、その呼び出しには MISSING_SCOPE が返され、何も実行されません。 Claude と ChatGPT は上記のすべてのスコープを要求します。Square Cloud の同意ページでは mcp 以外のどのスコープのチェックも外せますが、追加することはできません。account:read、apps:deploy、ai:chat、Blob Storage のスコープは、どの MCP ツールも使わないため、接続に付与されることはありません。
名前から想像されるより広い範囲に及ぶスコープもあります。files:write はアプリケーションが実行するコードを変更し、envs:write はアプリケーションの設定とシークレットを変更し、databases:credentials はデータベースのパスワードをローテーションします。クライアントには必要なものだけを付与してください。読み取り専用のアクセスには、mcp と :read のスコープを使います。

アプリケーションとデータベースに制限されたキー

API キーは、一部のアプリケーションとデータベースに制限できます。MCP では、そのようなキーは次のように動作します:
  • 対象のリソースにしかアクセスできません。 ほかのアプリケーションやデータベースを指定した呼び出しには、何かが実行される前に RESOURCE_NOT_ALLOWED が返されます。また、list_applications と list_databases はキーの対象リソースだけを返します。
  • アカウント全体を対象とするツールは使えません: get_all_applications_status、list_account_domains、list_workspaces、create_application、upload_application、create_database、connect_database、rotate_database_credentials(ローテーションは、そのデータベースを使うすべてのアプリケーションを更新するため)。
  • 対象の指定が必要です: アカウント全体の概要にはキーの対象外のリソースも含まれるため、list_snapshots と restore_snapshot にはアプリケーションまたはデータベースの指定が必要です。
Claude と ChatGPT の接続はアカウント全体を対象とします。AI クライアントを一部のアプリケーションに限定するには、制限付きの API キーで接続してください。

すべての変更はすぐに実行される

アプリケーションやデータベースの削除、スナップショットの復元も含め、すべてのツールは最初の呼び出しで実行されます。Square Cloud が事前にあなたに確認することはありません。いつツールを呼び出すかは AI クライアントが決めます。各ツールは、読み取りだけを行うのか、何かを破壊しうるのかをクライアントに伝えており、多くのクライアントは破壊的なツールの前にあなたの許可を求めます。その確認はオンのままにしてください。

削除と復元

delete_application、delete_database、restore_snapshot は元に戻せないため、Square Cloud は実行前にアプリケーションまたはデータベースの安全用スナップショットを作成します。ただし、直近数分以内のスナップショットがある場合は作成しません。どのケースになったかは、結果の safety_snapshot でわかります: スナップショットの作成中は何も実行されません。呼び出しには SNAPSHOT_NOT_READY が返され、クライアントは約 2 分後に同じ引数で再試行します。 安全用スナップショットは、プランの 1 日あたりのスナップショット上限にカウントされます。削除後もそのスナップショットはダッシュボードに残り、ダウンロードして新しいアプリケーションとしてアップロードできます。restore_snapshot が復元できるのは、まだ存在するアプリケーションとデータベースだけです。

シークレット

  • list_env_vars が返すのは変数名だけで、接続 URL についてはスキームとホストだけです。
  • ファイルツールは .env ファイル(*.env、.env-*、.envrc も含む)の読み取り、書き込み、削除を一切行わず(.env.example のようなテンプレートは読み取れます)、秘密鍵や証明書(.pem、.key、.p12、.pfx、.ppk、.jks、id_rsa などの SSH 鍵)も読み取りません。
  • アプリケーションのログ内で検出されたシークレットはマスクされます。
  • スナップショットと証明書のダウンロードリンクが送られることはありません。
アプリケーションのログとファイルはモデルが読む内容であり、その中のテキストがモデルを誘導しようとする可能性があります。許可する前に、クライアントの提案を見直してください。

アクティビティフィード

MCP を通じて行われた変更は、アクティビティフィード(Standard プラン以上)に、ダッシュボードでの操作と同じ項目として、発生元 MCP 付きで表示されます。再起動、ファイルのアップロード、環境変数の変更などです。読み取りは記録されません。Claude や ChatGPT の認可はクライアントの認可として表示されます。