Resource Manager リモート MCP サーバーを使用する

必要なロール

Resource Manager MCP サーバーを有効にするために必要な権限を取得するには、Resource Manager MCP サーバーを有効にするプロジェクトに対するサービス使用管理者 roles/serviceusage.serviceUsageAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、Resource Manager MCP サーバーを有効にするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Resource Manager MCP サーバーを有効にするには、次の権限が必要です。

  • serviceusage.mcppolicy.get
  • serviceusage.mcppolicy.update

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Resource Manager MCP サーバーを有効または無効にする

プロジェクトで Resource Manager MCP サーバーを有効または無効にするには、gcloud beta services mcp enable コマンドを使用します。詳しくは、以下のセクションをご覧ください。

プロジェクトで Resource Manager MCP サーバーを有効にする

サービス アカウント キー、OAuth クライアント ID、API キーなどのクライアント認証情報と、リソースのホスティングに異なるプロジェクトを使用している場合は、両方のプロジェクトで Resource Manager サービスと Resource Manager リモート MCP サーバーを有効にする必要があります。

Google Cloud プロジェクトで Resource Manager MCP サーバーを有効にするには、次のコマンドを実行します。

gcloud beta services mcp enable SERVICE \
    --project=PROJECT_ID

次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • SERVICE: Resource Manager のグローバルまたはリージョンのサービス名。たとえば、cloudresourcemanager.googleapis.comcloudresourcemanager.us-central1.rep.googleapis.com です。利用可能なリージョンについては、Resource Manager MCP リファレンスをご覧ください。

Google Cloud プロジェクトで使用できるように Resource Manager リモート MCP サーバーが有効になっています。Google Cloud プロジェクトで Resource Manager サービスが有効になっていない場合は、Resource Manager リモート MCP サーバーを有効にする前に、このサービスを有効にするよう求められます。

セキュリティのベスト プラクティスとして、AI アプリケーションの機能に必要なサービスに対してのみ MCP サーバーを有効にすることをおすすめします。

プロジェクトで Resource Manager MCP サーバーを無効にする

Google Cloud プロジェクトで Resource Manager MCP サーバーを無効にするには、次のコマンドを実行します。

gcloud beta services mcp disable SERVICE \
    --project=PROJECT_ID

Google Cloud プロジェクトでの Resource Manager MCP サーバーの使用が無効になっています。

認証と認可

Resource Manager MCP サーバーは、認証と認可に Identity and Access Management(IAM)OAuth 2.0 プロトコルを使用します。MCP サーバーへの認証では、すべての Google Cloud ID がサポートされています。

リソースへのアクセスを制御してモニタリングできるように、MCP ツールを使用してエージェント用に別個の ID を作成することをおすすめします。認証の詳細については、MCP サーバーに対して認証するをご覧ください。

Resource Manager MCP OAuth スコープ

OAuth 2.0 では、スコープと認証情報を使用して、認証されたプリンシパルがリソースに対して特定のアクションを実行する権限があるかどうかを判断します。Google の OAuth 2.0 スコープの詳細については、OAuth 2.0 を使用して Google API にアクセスするをご覧ください。

Resource Manager には、次の MCP ツール OAuth スコープがあります。

gcloud CLI のスコープの URI 説明
https://www.googleapis.com/auth/cloudresourcemanager.read-only データの読み取りアクセスのみを許可します。
https://www.googleapis.com/auth/cloudresourcemanager.read-write データの読み取りと変更のアクセスを許可します。

ツール呼び出し中にアクセスされるリソースに追加のスコープが必要になる場合があります。Resource Manager に必要なスコープのリストを表示するには、Resource Manager API をご覧ください。

Resource Manager MCP サーバーを使用するように MCP クライアントを構成する

Claude や Gemini CLI などの AI アプリケーションとエージェントは、単一の MCP サーバーに接続する MCP クライアントをインスタンス化できます。AI アプリケーションには、さまざまな MCP サーバーに接続する複数のクライアントを設定できます。リモート MCP サーバーに接続するには、MCP クライアントが少なくともリモート MCP サーバーの URL を認識している必要があります。

AI アプリケーションで、リモート MCP サーバーに接続する方法を探します。サーバー名や URL などのサーバーの詳細情報を入力するよう求められます。

Resource Manager MCP サーバーの場合は、必要に応じて次の情報を入力します。

  • サーバー名: Resource Manager MCP サーバー
  • サーバー URL またはエンドポイント: cloudresourcemanager.googleapis.com/mcp
  • トランスポート: HTTP
  • 認証の詳細: 認証方法に応じて、 Google Cloud 認証情報、OAuth クライアント ID とシークレット、またはエージェントの ID と認証情報を入力できます。認証の詳細については、MCP サーバーに対して認証するをご覧ください。
  • OAuth スコープ: Resource Manager MCP サーバーに接続するときに使用する OAuth 2.0 スコープ

ホスト固有のガイダンスについては、以下をご覧ください。

一般的なガイダンスについては、次のリソースをご覧ください。

使用可能なツール

読み取り専用の MCP ツールでは、MCP 属性 mcp.tool.isReadOnlytrue に設定されています。組織のポリシーを使用して、特定の環境で読み取り専用ツールのみを許可することがあります。

Resource Manager MCP サーバーで使用可能な MCP ツールの詳細とその説明を表示するには、Resource Manager MCP リファレンスをご覧ください。

ツールの一覧表示

MCP インスペクタを使用してツールを一覧表示するか、tools/list HTTP リクエストを Resource Manager リモート MCP サーバーに直接送信します。tools/list メソッド: 認証を必要としません。

POST /mcp HTTP/1.1
Host: cloudresourcemanager.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

サンプルのユースケース

Resource Manager リモート MCP サーバーの search_projects ツールを使用すると、AI エージェントは、アクセスに必要な権限を持つすべての Google Cloud プロジェクトを動的に検出して識別し、他のツールでコマンドを実行できます。

このツールは、プロジェクト ID、プロジェクト番号、プロジェクトのライフサイクル状態を含む構造化されたリストを返します。Resource Manager MCP サーバーのユースケースの例を次に示します。

  • リソース インベントリとアクセシビリティ監査: アクセス可能なアクティブなクラウド プロジェクトを一覧表示して要約します。

    ユーザーのプロンプト: List all my active Google Cloud projects.

    エージェントのアクション: エージェントは MCP サーバーに検索クエリを送信し、認証情報でアクティブになっているすべてのプロジェクトの概要リストを取得して表示します。

  • ターゲットを絞った親ベースの検索: 特定のフォルダまたは組織内にあるプロジェクトを取得して、リクエストのスコープを絞り込みます。

    ユーザーのプロンプト: Find all projects under Folder 223.

    エージェントのアクション: エージェントは、クエリ parent:folders/223 を使用してツール呼び出しを実行し、その管理境界内のプロジェクトのリストを返します。

  • 暗黙的なコンテキスト解決: 特定のプロジェクト ID を指定せずにリソースに関する情報をリクエストすると、エージェントはコンテキストを自動的に解決できます。

    ユーザーのプロンプト: Check the status of my 'payment-processor' service.

    エージェントの対応: エージェントは、Cloud Run ツールの project_id が欠落していることを認識します。search_projects ツールを使用して、名前に payment が含まれるプロジェクトを検索し、候補となるプロジェクト(payment-prod-123 など)を特定して、続行する前に確認を求めます。

  • 環境固有の検出: チャット インターフェースを離れることなく、特定の環境または組織構造でフィルタされたプロジェクトを見つけることができます。

    ユーザーのプロンプト: Which projects do I have access to in the staging environment?

    エージェント アクション: エージェントは、表示権限のある staging というラベルまたは名前のすべてのプロジェクトに対して検索オペレーションを実行し、特定のプロジェクト ID を返します。

LLM の動作をカスタマイズする

search_projects ツールは汎用性が高いですが、LLM は Google Cloud 階層をクエリするタイミングを常に把握しているとは限りません。特定のシナリオでツールを呼び出すには、Markdown ファイル(~/.gemini/GEMINI.md やプロジェクト レベルの AGENTS.md など)でカスタム コンテキストを指定します。

次のステップ