Google Cloud MCP
公式Google Cloud サービスと連携し、クラウドリソースを管理します。
Google Cloud MCPで何ができますか?
- gcloud CLI コマンドを実行 — AIに許可された
gcloudコマンドをrun_gcloud_command経由で実行させ、Google Cloud リソースを管理します。 - Cloud Observability データをクエリ —
list_log_entries、list_time_series、list_tracesなどのツールを使用して、ログ、メトリクス、トレース、アラートポリシーを取得します。 - Cloud Storage バケットとオブジェクトを管理 —
storage-mcpツールを使用して、オブジェクトとバケットの一覧表示、作成、削除、コピー、移動、アップロード、ダウンロードを行います。 - Storage Insights を検査 —
execute_insights_queryを使用して、インサイト構成を確認し、Storage Insights データセットに対して BigQuery クエリを実行します。 - Backup and DR オペレーションをオーケストレーション —
backupdr-mcpツールを使用して、バックアップボールトとプランの作成、リソースの関連付け、バックアップの一覧表示、復元のトリガーを行います。
ドキュメント
gcloud MCP サーバー ☁️
gcloud モデルコンテキストプロトコル(MCP) サーバーは、AI アシスタントが gcloud CLI を使用して Google Cloud 環境と容易に対話できるようにします。gcloud MCP サーバーを使用すると、次のことが可能になります。
- 自然言語で Google Cloud と対話。 複雑なコマンド構文、フラグ、引数を覚える代わりに、望む結果を記述するだけです。
- 複雑なワークフローの自動化と簡素化。 複数のクラウド操作を単一の再現可能なコマンドに連結し、手作業とエラーの可能性を減らします。
- クラウド管理への参入障壁を低減。 gcloud にあまり詳しくないチームメンバーでも、自信を持って安全に強力なアクションを実行できるようにします。
📡 利用可能な MCP サーバー
このリポジトリには、gcloud MCP サーバーに加えて、他の MCP サーバーもホストされています。最新のリストは以下にあり、このリポジトリ外でホストされている他の Google Cloud MCP サーバーへのリンクは こちら です。
🚀 はじめに
前提条件
- Node.js: バージョン 20 以上
- gcloud CLI
✨ 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 Servers で
cline_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 サーバー | ツール | 説明 |
|---|---|---|
| gcloud | run_gcloud_command | gcloud コマンドを実行します。一部のコマンドはエージェントによる実行が制限されています。詳細は MCP 権限 をご覧ください。 |
| observability | list_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 | プロジェクトのエラーグループを一覧表示します。 | |
| storage | list_objects | GCS バケット内のオブジェクトを一覧表示します。 |
read_object_metadata | 特定のオブジェクトの包括的なメタデータを読み取ります。 | |
read_object_content | 特定のオブジェクトの内容を読み取ります。 | |
delete_object | バケットから特定のオブジェクトを削除します。 | |
write_object | バケットに新しいオブジェクトを書き込みます。 | |
update_object_metadata | 既存のオブジェクトのカスタムメタデータを更新します。 | |
copy_object | オブジェクトをあるバケットから別のバケットにコピーします。 | |
move_object | オブジェクトをあるバケットから別のバケットに移動します。 | |
upload_object | ファイルを GCS バケットにアップロードします。 | |
download_object | GCS からローカルファイルにオブジェクトをダウンロードします。 | |
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_schema | GCS インサイトサービスが有効かどうかを確認し、指定されたインサイトデータセット構成の BigQuery テーブルスキーマを返します。 | |
execute_insights_query | インサイトデータセットに対して BigQuery SQL クエリを実行し、結果を返します。 | |
list_insights_configs | 指定されたプロジェクトのすべての Storage Insights データセット構成の名前を一覧表示します。 | |
| backupdr | list_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_restore | Cloud 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 では、以下のサーバーも提供しています。
- Firebase MCP
- Google Analytics MCP
- Google Cloud Genmedia MCP
- Google Cloud Run MCP
- Google Kubernetes Engine (GKE) MCP
- Google Security Operations and Threat Intelligence MCP
- MCP Toolbox for Databases
👥 コントリビューション
コントリビューションを歓迎します!バグ修正、フィードバックの共有、ドキュメントの改善など、皆様の貢献をお待ちしています。まずはコントリビューション ガイドをお読みください。
📄 重要事項
このリポジトリは現在プレビュー段階であり、破壊的変更が生じる可能性があります。このリポジトリはソリューションを提供するものであり、Google が公式にサポートする製品ではありません。Google Cloud 利用規約の対象外です。MCP 仕様、他の SDK、または他のソリューションや製品が変更された場合、動作しなくなる可能性があります。セキュリティ ポリシーもご参照ください。