Google Cloud MCP

公式

Google Cloud サービスと連携し、クラウドリソースを管理します。

Google Cloud MCPで何ができますか?

  • gcloud CLI コマンドを実行 — AIに許可された gcloud コマンドを run_gcloud_command 経由で実行させ、Google Cloud リソースを管理します。
  • Cloud Observability データをクエリlist_log_entrieslist_time_serieslist_traces などのツールを使用して、ログ、メトリクス、トレース、アラートポリシーを取得します。
  • Cloud Storage バケットとオブジェクトを管理storage-mcp ツールを使用して、オブジェクトとバケットの一覧表示、作成、削除、コピー、移動、アップロード、ダウンロードを行います。
  • Storage Insights を検査execute_insights_query を使用して、インサイト構成を確認し、Storage Insights データセットに対して BigQuery クエリを実行します。
  • Backup and DR オペレーションをオーケストレーションbackupdr-mcp ツールを使用して、バックアップボールトとプランの作成、リソースの関連付け、バックアップの一覧表示、復元のトリガーを行います。

ドキュメント

gcloud-mcp Servers CI License

gcloud MCP サーバー ☁️

gcloud モデルコンテキストプロトコル(MCP) サーバーは、AI アシスタントが gcloud CLI を使用して Google Cloud 環境と容易に対話できるようにします。gcloud MCP サーバーを使用すると、次のことが可能になります。

  • 自然言語で Google Cloud と対話。 複雑なコマンド構文、フラグ、引数を覚える代わりに、望む結果を記述するだけです。
  • 複雑なワークフローの自動化と簡素化。 複数のクラウド操作を単一の再現可能なコマンドに連結し、手作業とエラーの可能性を減らします。
  • クラウド管理への参入障壁を低減。 gcloud にあまり詳しくないチームメンバーでも、自信を持って安全に強力なアクションを実行できるようにします。

📡 利用可能な MCP サーバー

このリポジトリには、gcloud MCP サーバーに加えて、他の MCP サーバーもホストされています。最新のリストは以下にあり、このリポジトリ外でホストされている他の Google Cloud MCP サーバーへのリンクは こちら です。

MCP サーバー名説明パッケージ名バージョン
gcloud自然言語プロンプトを使用して gcloud CLI 経由で Google Cloud と対話します。gcloud-mcpVersion
observabilityGoogle Cloud Observability API にアクセスして、ログ、メトリクス、トレースをクエリします。observability-mcpVersion
storageGoogle Cloud Storage と対話して、バケットとオブジェクトを管理します。storage-mcpVersion
backupdrGoogle Cloud Backup and Disaster Recovery と対話します。backupdr-mcpVersion

🚀 はじめに

前提条件

✨ MCP サーバーのセットアップ

Gemini CLI と Gemini Code Assist

MCP サーバーを Gemini CLI または Gemini Code Assist と統合するには、表に記載されている MCP サーバーについて、ホームディレクトリから以下のセットアップコマンドを実行します。これにより、MCP サーバーが現在のユーザー向けの Gemini CLI 拡張機能 としてインストールされ、すべてのプロジェクトで利用可能になります。

npx @google-cloud/[PACKAGE_NAME] init --agent=gemini-cli

例えば、gcloud-mcp の場合:

npx @google-cloud/gcloud-mcp init --agent=gemini-cli

初期化プロセスの後、以下のコマンドを実行して gcloud-mcp サーバーが正しく構成されていることを確認できます。

gemini mcp list

> ✓ gcloud: npx -y @google-cloud/gcloud-mcp (stdio) - Connected

他の AI クライアントの場合

このリポジトリの MCP サーバーを他のクライアントで使用するには、各 MCP サーバーのそれぞれの JSON 構成ファイルに次のスニペットを追加します。

"[SERVER_NAME]": {
  "command": "npx",
  "args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}

例えば、gcloud の場合:

"gcloud": {
  "command": "npx",
  "args": ["-y", "@google-cloud/gcloud-mcp"]
}

一般的なツールの手順:

  • Claude Desktop: Claude > Settings > Developer > Edit Config を開き、 claude_desktop_config.json を編集します。
  • Cline: MCP Servers アイコンをクリックし、Configure MCP Serverscline_mcp_settings.json を編集します。
  • Cursor: 単一プロジェクトの場合は .cursor/mcp.json を、 すべてのプロジェクトの場合は ~/.cursor/mcp.json を編集します。
  • Gemini CLI (手動セットアップ): 拡張機能を使用しない場合、 単一プロジェクトの場合は .gemini/settings.json を、すべてのプロジェクトの場合は ~/.gemini/settings.json を編集します。

Visual Studio Code の場合は、ワークスペース内の .vscode/mcp.json ファイル(単一プロジェクトの場合)またはグローバルユーザー設定ファイル(すべてのプロジェクトの場合)を編集します。

"servers": {
  "[SERVER_NAME]": {
    "command": "npx",
    "args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
  }
}

例えば、gcloud と observability の場合:

"servers": {
  "gcloud": {
    "command": "npx",
    "args": ["-y", "@google-cloud/gcloud-mcp"]
  },
  "observability": {
    "command": "npx",
    "args": ["-y", "@google-cloud/observability-mcp"]
  },
}

🛠 ローカル開発

リポジトリをローカルにインストールする方法の詳細については、 development.md を参照してください。

🧰 利用可能な MCP ツール

MCP サーバーツール説明
gcloudrun_gcloud_commandgcloud コマンドを実行します。一部のコマンドはエージェントによる実行が制限されています。詳細は MCP 権限 をご覧ください。
observabilitylist_log_entriesプロジェクトのログエントリを一覧表示します。
list_log_namesプロジェクトのログ名を一覧表示します。
list_bucketsプロジェクトのログバケットを一覧表示します。
list_viewsプロジェクトのログビューを一覧表示します。
list_sinksプロジェクトのログシンクを一覧表示します。
list_log_scopesプロジェクトのログスコープを一覧表示します。
list_metric_descriptorsプロジェクトのメトリック記述子を一覧表示します。
list_time_series指定されたメトリックの時系列データを一覧表示します。
list_alert_policiesプロジェクトのアラートポリシーを一覧表示します。
list_tracesプロジェクト内のトレースを検索します。
get_traceプロジェクト内の特定のトレースを ID で取得します。
list_group_statsプロジェクトのエラーグループを一覧表示します。
storagelist_objectsGCS バケット内のオブジェクトを一覧表示します。
read_object_metadata特定のオブジェクトの包括的なメタデータを読み取ります。
read_object_content特定のオブジェクトの内容を読み取ります。
delete_objectバケットから特定のオブジェクトを削除します。
write_objectバケットに新しいオブジェクトを書き込みます。
update_object_metadata既存のオブジェクトのカスタムメタデータを更新します。
copy_objectオブジェクトをあるバケットから別のバケットにコピーします。
move_objectオブジェクトをあるバケットから別のバケットに移動します。
upload_objectファイルを GCS バケットにアップロードします。
download_objectGCS からローカルファイルにオブジェクトをダウンロードします。
list_bucketsプロジェクト内のすべてのバケットを一覧表示します。
create_bucket新しいバケットを作成します。
delete_bucketバケットを削除します。
get_bucket_metadata特定のバケットの包括的なメタデータを取得します。
update_bucket_labelsバケットのラベルを更新します。
get_bucket_locationバケットのロケーションを取得します。
view_iam_policyバケットの IAM ポリシーを表示します。
check_iam_permissionsバケットの IAM 権限をテストします。
get_metadata_table_schemaGCS インサイトサービスが有効かどうかを確認し、指定されたインサイトデータセット構成の BigQuery テーブルスキーマを返します。
execute_insights_queryインサイトデータセットに対して BigQuery SQL クエリを実行し、結果を返します。
list_insights_configs指定されたプロジェクトのすべての Storage Insights データセット構成の名前を一覧表示します。
backupdrlist_backup_vaults指定されたプロジェクトとロケーションのすべてのバックアップボールトを一覧表示します。
get_backup_vault特定のバックアップボールトの詳細を取得します。
list_backup_plans指定されたプロジェクトとロケーションのすべてのバックアッププランを一覧表示します。
get_backup_plan特定のバックアッププランの詳細を取得します。
list_backup_plan_associationsバックアッププランとリソース間のすべての関連付けを一覧表示します。
get_backup_plan_association特定のバックアッププラン関連付けの詳細を取得します。
list_datasourcesバックアップボールト内のすべてのデータソースを一覧表示します。
get_datasource特定のデータソースの詳細を取得します。
list_backups指定されたデータソースのすべてのバックアップを一覧表示します。
get_backup特定のバックアップの詳細を取得します。
find_protectable_resources保護可能なリソース(VM、ディスク、SQL)を検出します。
get_backupdr_operation長時間実行される BackupDR オペレーションのステータスを取得します。
get_csql_operation長時間実行される Cloud SQL オペレーションのステータスを取得します。
create_backup_vault指定されたロケーションに新しいバックアップボールトを作成します。
create_backup_plan定義されたルールと保持期間を持つ新しいバックアッププランを作成します。
update_backup_plan既存のバックアッププランを変更します。
create_backup_plan_association保護を開始するためにリソースをバックアッププランに関連付けます。
restore_backupバックアップをターゲットの Compute Engine インスタンスまたはディスクに復元します。
csql_restoreCloud SQL バックアップをターゲットインスタンスに復元します。
delete_backup_vaultバックアップボールトを削除します。
delete_backup_planバックアッププランを削除します。
delete_backup_plan_association関連付けを削除してリソースの保護を解除します。
delete_backup保管庫から特定のバックアップを削除します。

🔑 MCP 権限

gcloud MCP の権限は、アクティブな gcloud アカウントの権限に直接紐付いています。権限を制限し、最小権限の原則に従って運用するには、サービス アカウントとして権限借用を使用して認証し、そのサービス アカウントに制限付き権限のロールを割り当てます。

デフォルトでは、gcloud MCP は AI エージェントにとって意味のない gcloud コマンドの実行を防止します。これは、任意の入力を実行したり、インタラクティブ セッションを開始したりできるコマンドを制限するためです。拒否されるコマンドの一覧はこちらをご覧ください。

💫 その他の Google Cloud MCP サーバー

Google Cloud では、以下のサーバーも提供しています。

👥 コントリビューション

コントリビューションを歓迎します!バグ修正、フィードバックの共有、ドキュメントの改善など、皆様の貢献をお待ちしています。まずはコントリビューション ガイドをお読みください。

📄 重要事項

このリポジトリは現在プレビュー段階であり、破壊的変更が生じる可能性があります。このリポジトリはソリューションを提供するものであり、Google が公式にサポートする製品ではありません。Google Cloud 利用規約の対象外です。MCP 仕様、他の SDK、または他のソリューションや製品が変更された場合、動作しなくなる可能性があります。セキュリティ ポリシーもご参照ください。