Android Management API MCP サーバーを使用する
Model Context Protocol(MCP)により、大規模言語モデル(LLM)と AI アプリケーション(エージェント)が外部のデータソースに接続する方法が標準化されます。MCP サーバーを使用すると、そのツール、リソース、プロンプトを使用してアクションを実行し、バックエンド サービスから更新されたデータを取得できます。
ローカル MCP サーバーは通常、ローカルマシンで実行され、同じデバイス上のサービス間の通信に標準の入力ストリームと出力ストリーム(stdio)を使用します。リモート MCP サーバーはサービスのインフラストラクチャで実行され、AI アプリケーションに HTTP エンドポイントを提供して、AI MCP クライアントと MCP サーバー間の通信を行います。MCP アーキテクチャの詳細については、MCP アーキテクチャをご覧ください。
Google と Google Cloud のリモート MCP サーバーには、次の機能とメリットがあります。
- 簡素化された一元的な検出。
- マネージド グローバルまたはリージョン HTTP エンドポイント。
- きめ細かい認可。
- 一元的な監査ロギング。
他の MCP サーバーと、Google Cloud MCP サーバーで使用可能なセキュリティとガバナンスの制御については、Google Cloud MCP サーバーの概要をご覧ください。
始める前に
Android Management API のリモート MCP サーバーを使用するには、Google Cloud プロジェクトを作成して Android Management API を有効にする必要があります。
-
Cloud コンソールのプロジェクト セレクタ ページで、Google Cloud プロジェクトを選択または作成します。
-
Enable the Android Management API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
必要なロール
Android Management API リモート MCP サーバーの使用に必要な権限を取得するには、Android Management API MCP サーバーを有効にする Google Cloud プロジェクトに対する次の Identity and Access Management ロールを付与するよう管理者に依頼してください。
- Service Usage 管理者(
roles/serviceusage.serviceUsageAdmin) - MCP ツール呼び出しを行う: MCP ツールユーザー(
roles/mcp.toolUser) - Android Management リソースにアクセスする: Android Management ユーザー(
roles/androidmanagement.user)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、Android Management API リモート MCP サーバーの使用に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Android Management リモート MCP サーバーを使用するには、次の権限が必要です。
serviceusage.mcppolicy.getserviceusage.mcppolicy.update- MCP ツール呼び出しを行う:
mcp.tools.call - Android Management リソースにアクセスする:
androidmanagement.enterprises.getandroidmanagement.devices.list
Android Management API MCP サーバーを有効または無効にする
プロジェクトで Android Management API MCP サーバーを有効または無効にするには、gcloud beta services mcp enable コマンドを使用します。詳しくは、以下のセクションをご覧ください。
プロジェクトで Android Management API MCP サーバーを有効にする
サービス アカウント キー、OAuth クライアント ID、API キーなどのクライアント認証情報と、リソースのホスティングに異なるプロジェクトを使用している場合は、両方のプロジェクトで Android Management API サービスと Android Management API リモート MCP サーバーを有効にする必要があります。
Google Cloud プロジェクトで Android Management API MCP サーバーを有効にするには、次のコマンドを実行します。
gcloud beta services mcp enable SERVICE \
--project=PROJECT_ID
次のように置き換えます。
PROJECT_ID: Google Cloud プロジェクト ID。SERVICE:androidmanagement.googleapis.com
Google Cloud プロジェクトで使用できるように Android Management API リモート MCP サーバーが有効になっています。Google Cloud プロジェクトで Android Management API サービスが有効になっていない場合は、Android Management API リモート MCP サーバーを有効にする前に、このサービスを有効にするよう求められます。
セキュリティのベスト プラクティスとして、AI アプリケーションの機能に必要なサービスに対してのみ MCP サーバーを有効にすることをおすすめします。
プロジェクトで Android Management API MCP サーバーを無効にする
Google Cloud プロジェクトで Android Management API MCP サーバーを無効にするには、次のコマンドを実行します。
gcloud beta services mcp disable SERVICE \
--project=PROJECT_ID
Android Management API MCP サーバーは、Google Cloud プロジェクトで使用できないようになっています。
認証と認可
Android Management API MCP サーバーは、認証と認可に Identity and Access Management と OAuth 2.0 プロトコルを使用します。MCP サーバーへの認証では、すべての Google Cloud ID がサポートされています。
Android Management API リモート MCP サーバーは API キーを受け入れません。
リソースへのアクセスを制御およびモニタリングできるように、MCP ツールを使用してエージェント用に個別の ID を作成することをおすすめします。認証の詳細については、MCP サーバーに対して認証するをご覧ください。
Android Management API MCP の OAuth スコープ
OAuth 2.0 では、スコープと認証情報を使用して、認証されたプリンシパルがリソースに対して特定のアクションを実行する権限があるかどうかを判断します。Google の OAuth 2.0 スコープの詳細については、OAuth 2.0 を使用して Google API にアクセスするをご覧ください。
Android Management API には、次の MCP ツール OAuth スコープがあります。
| gcloud のスコープ URI | 説明 |
|---|---|
https://www.googleapis.com/auth/androidmanagement |
Android デバイスとアプリを管理する。 |
ツール呼び出し中にアクセスされるリソースに追加のスコープが必要になる場合があります。Android Management API に必要なスコープの一覧については、Android Management API をご覧ください。
Android Management API MCP サーバーを使用するように MCP クライアントを構成する
Claude や Gemini CLI などのホスト プログラムは、単一の MCP サーバーに接続する MCP クライアントをインスタンス化できます。ホスト プログラムには、さまざまな MCP サーバーに接続する複数のクライアントを設定できます。リモート MCP サーバーに接続するには、MCP クライアントが少なくともリモート MCP サーバーの URL を認識している必要があります。
ホストで、リモート MCP サーバーに接続する方法を探します。サーバー名や URL などのサーバーの詳細情報を入力するよう求められます。
Android Management API MCP サーバーの場合は、必要に応じて次の情報を入力します。
- サーバー名: Android Management API MCP サーバー
- サーバー URL またはエンドポイント: https://androidmanagement.googleapis.com/mcp
- トランスポート: HTTP
- 認証の詳細: 認証方法に応じて、Google Cloud 認証情報、OAuth クライアント ID とシークレット、またはエージェントの ID と認証情報を入力できます。認証の詳細については、MCP サーバーに対して認証するをご覧ください。
ホスト固有のガイダンスについては、以下をご覧ください。
一般的なガイダンスについては、リモート MCP サーバーに接続するをご覧ください。
使用可能なツール
読み取り専用の MCP ツールでは、MCP 属性 mcp.tool.isReadOnly が true に設定されています。組織のポリシーを使用して、特定の環境で読み取り専用ツールのみを許可することがあります。
Android Management API MCP サーバーで使用可能な MCP ツールの詳細とその説明を表示するには、Android Management API MCP リファレンスをご覧ください。
ツールの一覧表示
MCP インスペクタを使用してツールを一覧表示するか、tools/list HTTP リクエストを Android Management API リモート MCP サーバーに直接送信します。tools/list メソッド: 認証を必要としません。
POST /mcp HTTP/1.1
Host: androidmanagement.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
サンプルのユースケース
Android Management API MCP サーバーのユースケースの例を次に示します。
- 自然言語クエリ: コードを記述せずに、デバイス フリートに関する複雑な質問をします(例: 「最新のセキュリティ パッチに準拠していないデバイスはどれですか?」)。
- 自動監査: 定期的にデータを取得し、デバイスのステータスとポリシーの遵守に関するレポートを作成します。
- インテリジェント アラート: フリートデータをモニタリングし、リアルタイムの分析情報に基づいて異常や潜在的な問題を特定します。
サンプル プロンプト
次のサンプル プロンプトを使用すると、Android Management API リソースに関する情報を取得できます。
- 企業
ENTERPRISE_ID内のデバイスを一覧表示します。 - エンタープライズ
ENTERPRISE_IDのデバイスDEVICE_IDの詳細情報を取得します。 - ポリシー
POLICY_NAMEのポリシーの詳細を表示します。 - Enterprise
ENTERPRISE_IDで利用できるアプリケーションはどれですか?
プロンプトでは、次のように置き換えます。
ENTERPRISE_ID: エンタープライズのリソース名(例:enterprises/LC012345)。DEVICE_ID: デバイスのリソース名。POLICY_NAME: ポリシーのリソース名。
セキュリティと安全に関するオプションの構成
MCP ツールで実行できるアクションが多岐にわたるため、MCP によって新たなセキュリティ リスクと考慮事項が加わります。これらのリスクを最小限に抑えて管理するために、Google Cloud は、Google Cloud 組織またはプロジェクトでの MCP ツールの使用を制御するデフォルトのポリシーとカスタマイズ可能なポリシーを提供します。
MCP のセキュリティとガバナンスの詳細については、AI のセキュリティと安全性をご覧ください。
組織レベルの MCP 制御
gcp.managed.allowedMCPService 制約を使用して、Google Cloud 組織での MCP サーバーの使用を制御するカスタムの組織のポリシーを作成できます。詳細と使用例については、Google Cloud MCP サーバーの IAM によるアクセス制御をご覧ください。
次のステップ