はじめに
こんにちは!アイレット株式会社DX開発事業部の田村です。
2025年12月に Google Cloud の製品向けに MCP(Model Context Protocol)のサポートが発表されました。これによりGKE(Google Kubernetes Engine)を含む複数の Google Cloud サービスが AI エージェントから直接操作できるようになりました。
Google Cloud MCP servers について
Google CloudはMCPサーバーをリモートで利用できるようにGoogle Cloud MCP serversの提供を発表しました。
ユーザーはHTTP経由でMCPサーバーに接続して利用することができます。
今回の発表では以下の4サービスがサポートされています。
- Google Maps
- BigQuery
- Google Compute Engine
- Google Kubernetes Engine
上記のうちGKE MCPサーバーについて、どんなことができるのかを見ていきたいと思います。
GKE MCPサーバーでできること
GKEのMCPサーバーは、以下の8つのツールを提供しています。(2025年12月12日時点)
| カテゴリ | ツール名 | 説明 |
|---|---|---|
| クラスター管理 | list_clusters |
GKEクラスターの一覧を取得 |
| クラスター管理 | get_cluster |
特定のクラスター情報を取得 |
| Kubernetesリソース操作 | kube_api_resources |
Kubernetes APIリソースの情報を取得 |
| Kubernetesリソース操作 | kube_get |
Kubernetesリソース(Pod、Deploymentなど)を取得 |
| ノードプール管理 | list_node_pools |
ノードプールの一覧を取得 |
| ノードプール管理 | get_node_pool |
特定のノードプール情報を取得 |
| オペレーション管理 | list_operations |
GKE オペレーション(クラスター作成、アップグレードなど)の一覧を取得 |
| オペレーション管理 | get_operation |
特定のオペレーション情報を取得 |
これらのツールを使うことで、AIエージェントはGKEクラスターの状態を把握したり、Kubernetesリソースを確認したりできるようになります。
GKE MCPサーバーの特徴
今回発表されたのは、Google Cloudが運用する「マネージド」のMCPサーバーです。
実はGoogleはオープンソース版のGKE MCP Serverも公開しています。オープンソース版は主にローカル環境で動作させてクラスター作成やマニフェスト生成など、より高度な機能が利用可能になっています。
マネージドMCPサーバーの特徴として以下が挙げられます
- Google Cloud側でメンテナンスされて提供される
- クラスターやPodの状態など読み取り専用のツールが提供されている(2025年12月時点)
- Google CloudのIAM権限でアクセス管理することができる
エンドポイントの提供方法
Google Cloud MCPサーバーはCloud API RegistryというGoogle Cloudのサービスで管理されていて、このサービスを経由することでGKE MCPやそのlist_clustersやkube_getといったツールが提供されています。(Cloud API Registryは2025年12月時点でパブリックプレビュー)
言い換えるなら、Google Cloudが公式に提供するMCPサーバー管理のためのプラットフォームということですね!
Google Cloudのサービスとして利用できるため、IAMでの権限管理、ログ管理といったセキュリティ要件も叶えられるという点が魅力かなと思います。
今回使用するGKE MCPサーバーは以下のエンドポイントで提供されています。
https://container.googleapis.com/mcp
マネージド版とオープンソース版の比較
| 項目 | マネージド版 | オープンソース版 |
|---|---|---|
| 提供形態 | Google Cloudが運用するHTTPエンドポイント | ローカル環境で実行 |
| 主な用途 | クラスターの監視・診断・分析 | クラスター作成・マニフェスト生成・運用全般 |
| クラスター作成 | ❌ 不可 | ✅ 可能(cluster_toolkit) |
| クラスター情報取得 | ✅ 可能(list_clusters, get_cluster) |
✅ 可能 |
| Kubernetesリソース操作 | ✅ 読み取りのみ(kube_get, kube_api_resources) |
✅ 読み取りのみ |
| マニフェスト生成 | ❌ 不可 | ✅ 可能(AI/ML推論ワークロード用) |
| ログ分析 | ❌ 不可 | ✅ 可能(LQLクエリ) |
| コスト分析 | ❌ 不可 | ✅ 可能(クラスター/namespace/workload別) |
| セキュリティ管理 | Google Cloud IAM、監査ログ | ローカル認証情報 |
| メンテナンス | Google Cloudが実施 | 自分で更新が必要 |
マネージド版は「読み取り専用の監視・診断に特化」していて、クラスター作成やマニフェスト生成といった書き込み操作はできません。一方でオープンソース版はローカル環境で動作させる前提で、「クラスター作成からログ分析、コスト分析まで幅広い運用タスク」まで行うことができます。
どちらを使っていくかは用途次第だと思いますが、本番環境の監視や複数人で安全に使いたい場合はマネージド版、開発環境でAIにクラスター構築から任せたい場合はオープンソース版になっていくのではないでしょうか。
ともあれまだ発表されたばかりのMCPですので、今後はマネージド版の方に機能を集約していく可能性もあると思います。
実際に使ってみる
Cloud Shell で Gemini CLI を使って MCP サーバーを利用します。
操作する GKE は Autopilot で nginx と Fluent Bit の Pod を立ち上げます。
以下のようにPodを作成しました。
$ kubectl get deployments # NAME READY UP-TO-DATE AVAILABLE AGE # fluent-bit 1/1 1 1 3m23s # nginx 3/3 3 3 3m45s $ kubectl get pods # NAME READY STATUS RESTARTS AGE # fluent-bit-799c7cc5f-bxknd 1/1 Running 0 6s # nginx-6976b7d7d6-2s6q7 1/1 Running 0 29s # nginx-6976b7d7d6-d4vq4 1/1 Running 0 15s # nginx-6976b7d7d6-ldjqg 1/1 Running 0 15s
Gemini CLIでMCPサーバーを設定
今回はCloud Shell環境でGemini CLIを使ってMCPサーバーに接続してみます。
使用するコマンドはgcloud CLIのバージョン549以上が必要となりますのでご注意ください!
gcloud --version # Google Cloud SDK 549.0.1 # ... # バージョンが549未満の方はUpdateしてください gcloud components update
MCP サーバーの有効化:
GKEのMCPサーバーを使うには、事前にMCPエンドポイントを有効化する必要があります。
gcloud beta services mcp enable container.googleapis.com --project=<プロジェクトID>
GKE MCPサーバーの設定:
~/.gemini/settings.jsonファイルを作成して、MCPサーバーを登録します。
cat > ~/.gemini/settings.json <<'EOF'
{
"mcpServers": {
"gke": {
"httpUrl": "https://container.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email"
]
},
"headers": {
"x-goog-user-project": "YOUR_PROJECT_ID"
}
}
}
}
EOF
Gemini CLIからGKEを操作
Gemini CLIを起動して、自然言語でGKEクラスターを操作してみます。
gemini
以下のコマンドでMCPが有効化されていることを確認できます。
/mcp Configured MCP servers: 🟢 gke - Ready (8 tools) Tools: - get_cluster - get_node_pool - get_operation - kube_api_resources - kube_get - list_clusters - list_node_pools - list_operations
まずは以下のような質問を投げてみます。
※実行される場合プロジェクトIDはご自身のプロジェクトIDに置き換えてください。
<プロジェクトID>のすべてのリージョンにあるGKEクラスターの一覧を教えてください
MCPツールを初めて使用する際、セキュリティのため承認が求められます。
Allow execution of MCP tool "list_clusters" from server "gke"? ● 1. Yes, allow once 2. Yes, always allow tool "list_clusters" from server "gke" 3. Yes, always allow all tools from server "gke" 4. No, suggest changes (esc)
今回は「Yes, always allow all tools from server “gke”」を選択して、以降すべてのツールを許可します。
実行結果:
list_clustersツールを使ってクラスター一覧を取得していますね。
✓ list_clusters (gke MCP Server) {"parent":"projects/<プロジェクトID>/locations/-"}
<プロジェクトID>のすべてのリージョンにある GKE クラスターは以下の通りです:
* mcp-test-cluster (ロケーション: asia-northeast1)
少し複雑な質問を投げてみます。
稼働しているDeploymentに関して見直すべきポイントはありますか?
実行結果:
kube_get (gke MCP Server)
Deploymentの一覧を取得し、内容を確認しました。
ほとんどはGKEが管理するシステムコンポーネントであり、これらは適切に設定されています。
しかし、default名前空間で稼働しているfluent-bitとnginxという2つのDeploymentについて、見直すべき点がいくつか見つかりました。
主な見直しポイント
1. イメージタグが `:latest` になっている (nginx, fluent-bit)
* 問題点: imageにバージョンが指定されず :latest タグが使われています。このタグは、イメージがビルドされるたびに参照先が変わる可能性があり、意図せず新しいバージョンのコンテナがデプロイされ、予期せぬ動作を引き起こす原因となります。
* 推奨事項: nginx:1.23.0 のように、特定のバージョンを明示的に指定してください。これにより、デプロイの再現性と安定性が向上します。
2. Readiness ProbeとLiveness Probeが設定されていない (nginx, fluent-bit)
* 問題点: Podが正常にリクエストを受け付けられる状態かを判断するreadinessProbeと、Podが正常に稼働し続けているかを判断するlivenessProbeがありません。これにより、アプリケーションが応答不能になっているPodにトラフィックが送られたり、異常なPodが再起動されずに放置されたりする可能性があります。
* 推奨事項:
* nginxには、/ へのHTTP GETリクエストなどを利用した単純なProbeを追加できます。
* fluent-bitには、ヘルスチェック用のエンドポイントがあればそれを、なければ特定のポートへのTCP接続を試みるProbeなどを設定します。
まとめ
ユーザーが管理していると思われるnginxとfluent-bitのDeploymentは、イメージのバージョンを固定し、ヘルスチェック(Probe)を追加することで、より堅牢で安定した運用が可能になります。
これらの修正を適用しますか? ご希望であれば、具体的な修正案を提示することも可能です。
Geminiはkube_getツールを使ってDeploymentを取得し、自動的にベストプラクティスに基づいた分析を行ってくれています。
指摘内容についてもイメージタグやProbeの設定など妥当な内容ですね。
さいごに
最後まで閲覧いただきありがとうございます。
GKEのMCPサーバーがマネージドで提供されたということで、環境依存することなくMCPサーバーを利用していくことができるようになりました。
AIエージェントが複数のGoogle Cloudサービスをまたいで作業できるようになるとBigQueryでデータを分析して、その結果をもとにGKEのスケーリングを調整するといった自動化も可能になるかもしれません。
今後も他のGoogle CloudサービスでもMCPサポートが予定されていると発表しているので待ち遠しいですね。