このドキュメントでは、Resource Manager リモート Model Context Protocol(MCP)サーバーを使用して、Gemini CLI、ChatGPT、Claude、開発中のカスタム アプリケーションなどの AI アプリケーションに接続する方法について説明します。Resource Manager のリモート MCP サーバーを使用すると、アクセスに必要な権限を持つすべての Google Cloud プロジェクトを検索して特定できます。これにより、より具体的なリソース構成を試みる前に、正しい識別子を取得できます。
このツールは、プロジェクト ID、プロジェクト番号、プロジェクトのライフサイクル状態を含む構造化されたリストを返します。Resource Manager リモート MCP サーバーは、Resource Manager API を有効にすると有効になります。
Model Context Protocol(MCP)により、大規模言語モデル(LLM)と AI アプリケーション(エージェント)が外部のデータソースに接続する方法が標準化されます。MCP サーバーを使用すると、そのツール、リソース、プロンプトを使用してアクションを実行し、バックエンド サービスから更新されたデータを取得できます。
ローカル MCP サーバーとリモート MCP サーバーの違いは何ですか?
- ローカル MCP サーバー
- 通常はローカルマシンで実行され、同じデバイス上のサービス間の通信に標準の入力ストリームと出力ストリーム(stdio)を使用します。
- リモート MCP サーバー
- サービスのインフラストラクチャで実行され、AI MCP クライアントと MCP サーバー間の通信用に AI アプリケーションに HTTP エンドポイントを提供します。MCP アーキテクチャの詳細については、MCP アーキテクチャをご覧ください。
ステートレス コア
MCP バージョン 2026-07-28 では、MCP は双方向のステートフル プロトコルからステートレス プロトコルに変更されます。各 MCP リクエストは自己記述型であり、ヘッダーを使用してルーティングできます。各リクエストには、HTTP ヘッダーまたは _meta パラメータに必要な情報がすべて含まれているため、initialize/initialized ハンドシェイクや Mcp-Session-Id は必要ありません。MCP サーバーは、マルチラウンド トリップ リクエスト(MRTR)を通じて、ツールに必要な追加情報をリクエストできます。
リクエスト本文を解析せずにリクエストをルーティングして処理するには、次の MCP ヘッダーが必要です。
- プロトコル バージョン ヘッダーや標準リクエスト ヘッダーなど、MCP 仕様で必須のヘッダー。
- MCP サーバーによって定義されるカスタム ヘッダー。これらのヘッダーは、
x-mcp-headerプロパティを使用して、ツールの入力スキーマから HTTP ヘッダーにミラーリングされます。たとえば、MCP サーバーは、 Google Cloud リージョンまたはプロジェクト ID を指定するカスタム ヘッダーを定義できます。
MCP アーキテクチャの詳細については、MCP バージョン 2026-07-28 の仕様と主な変更点をご覧ください。
Google と Google Cloud リモート MCP サーバー
Google と Google Cloud リモート MCP サーバーには、次の機能とメリットがあります。- 簡素化された一元的な検出
- マネージド グローバルまたはリージョン HTTP エンドポイント
- きめ細かい認可
- Model Armor 保護によるプロンプトとレスポンスのセキュリティ(オプション)
- 一元的な監査ロギング
他の MCP サーバーと、Google Cloud MCP サーバーで使用可能なセキュリティとガバナンスの制御については、Google Cloud MCP サーバーの概要をご覧ください。
制限事項
IAM 拒否ポリシーを使用して、Resource Manager サービスとその MCP サーバーへのトラフィックをブロックできます。ただし、MCP 固有の IAM 属性と toolUser 権限を使用して、このサーバーのツールアクセスを制限することはできません。
始める前に
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Resource Manager API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud initIf you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Resource Manager API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud initIf you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
認証と認可
Resource Manager リモート MCP サーバーは、認証と認可に Identity and Access Management(IAM)と OAuth 2.0 プロトコルを使用します。MCP サーバーへの認証では、すべての Google Cloud ID がサポートされています。Resource Manager MCP サーバーは、認証に API キーを使用できません。
リソースへのアクセスを制御してモニタリングできるように、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 や Antigravity などの AI アプリケーションとエージェントは、単一の MCP サーバーに接続する MCP クライアントをインスタンス化できます。AI アプリケーションには、さまざまな MCP サーバーに接続する複数のクライアントを設定できます。アプリケーションがクライアント固有のガイダンスに記載されていない場合は、次の情報を使用してほとんどのアプリケーションから接続できます。
AI アプリケーションで、リモート MCP サーバーを追加または接続する方法を探します。Resource Manager MCP サーバーの場合は、必要に応じて次の情報を入力します。
- サーバー名: Resource Manager MCP サーバー
- サーバー URL またはエンドポイント: https://cloudresourcemanager.googleapis.com/mcp
- トランスポート: ストリーミング可能な HTTP
- 認証の詳細: 認証方法に応じて、 Google Cloud 認証情報、OAuth クライアント ID とシークレット、またはエージェントの ID と認証情報を入力できます。認証の詳細については、MCP サーバーに対して認証するをご覧ください。
- OAuth スコープ: Resource Manager MCP サーバーに接続するときに使用する OAuth 2.0 スコープ。
リダイレクト URI
ウェブベースのアプリケーションと一部のデスクトップ アプリケーションでは、認証用のクライアント ID とシークレットを作成するときに、リダイレクト URI を許可リストに登録する必要があります。リダイレクト URI は、認可サーバーがトークンをアプリケーションに送信するために使用します。アプリケーションのドキュメントには、使用する必要があるリダイレクト URI が指定されている必要があります。カスタム リダイレクト URI はサポートされていません。
MCP サーバーの設定と接続に関するアプリケーション固有のガイダンスについては、クライアント固有のガイダンスをご覧ください。
一般的なガイダンスについては、次のリソースをご覧ください。
使用可能なツール
Resource Manager MCP サーバーで使用可能な MCP ツールの詳細とその説明を表示するには、Resource Manager MCP リファレンスをご覧ください。
ツールの一覧表示
MCP インスペクタを使用してツールを一覧表示するか、tools/list HTTP リクエストを Resource Manager リモート MCP サーバーに直接送信します。tools/list メソッド: 認証を必要としません。
curl -X POST https://cloudresourcemanager.googleapis.com/TOOLSET_ENDPOINT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
-H 'Mcp-Method: tools/list' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
"io.modelcontextprotocol/clientCapabilities": {
"extensions": {
"io.modelcontextprotocol/ui": {
"mimeTypes": ["text/html;profile=mcp-app"]
}
}
}
}
}
}'
次のように置き換えます。
TOOLSET_ENDPOINT: サービス名の後の MCP エンドポイントの残りの部分。たとえば、Resource Manager の場合はmcp/toolset-nameです。MCP_PROTOCOL_VERSION: MCP プロトコルのバージョン。例:2026-07-28
サンプルのユースケース
Resource Manager リモート MCP サーバーの search_projects ツールを使用すると、AI エージェントは、アクセスに必要な権限を持つすべての Google Cloud プロジェクトを動的に検出して識別し、他のツールでコマンドを実行できます。
このツールは、プロジェクト ID、プロジェクト番号、プロジェクトのライフサイクル状態を含む構造化されたリストを返します。Resource Manager MCP サーバーのユースケースの例を次に示します。
リソース インベントリとアクセシビリティ監査: アクセス可能なアクティブなクラウド プロジェクトを一覧表示して要約します。
ユーザー プロンプト: 「アクティブな Google Cloud プロジェクトをすべて一覧表示して。」
エージェントのアクション: エージェントは MCP サーバーに検索クエリを送信し、認証情報でアクティブなすべてのプロジェクトの概要リストを取得して表示します。
ターゲットを絞った親ベースの検索: 特定のフォルダまたは組織内にあるプロジェクトを取得して、リクエストのスコープを絞り込みます。
ユーザー プロンプト: 「フォルダ 223 の下にあるすべてのプロジェクトを検索して。」
エージェントのアクション: エージェントは、クエリ
parent:folders/223を使用してツール呼び出しを実行し、その行政境界内のプロジェクトのリストを返します。暗黙的なコンテキスト解決: 特定のプロジェクト ID を指定せずにリソースに関する情報をリクエストすると、エージェントはコンテキストを自動的に解決できます。
ユーザーのプロンプト: 「支払い処理サービスのステータスを確認して。」
エージェントのアクション: エージェントは、Cloud Run ツールの
project_idが欠落していることを認識します。search_projectsツールを使用して、名前にpaymentが含まれるプロジェクトを検索し、可能性の高いプロジェクト(payment-prod-123など)を特定して、続行する前に確認を求めます。環境固有の検出: チャット インターフェースを離れることなく、特定の環境または組織構造でフィルタされたプロジェクトを見つけることができます。
ユーザーのプロンプト: 「ステージング環境でアクセスできるプロジェクトはどれですか?」
エージェントのアクション: エージェントは、表示権限を持つ
stagingというラベルまたは名前のすべてのプロジェクトを検索し、特定のプロジェクト ID を返します。
LLM の動作をカスタマイズする
search_projects ツールは汎用性が高いですが、LLM が Google Cloud 階層をクエリするタイミングを常に把握しているとは限りません。特定のシナリオでツールを呼び出すには、マークダウン ファイル(~/.gemini/GEMINI.md やプロジェクト レベルの AGENTS.md など)でカスタム コンテキストを指定します。
次のステップ
- Resource Manager MCP リファレンス ドキュメントを読む。
- Google Cloud MCP サーバーの詳細を確認する。