Overview
The Google Kubernetes Engine (GKE) MCP server provides read-only observability into GKE clusters and their Kubernetes workloads. Inspect clusters, node pools, operations, and usekube_get to query any Kubernetes resource — the equivalent of kubectl get.
Read-only — This server cannot create, update, or delete clusters, node pools, or workloads. For lifecycle management, use the GCP Console,
gcloud, or Terraform.How to Add Google Kubernetes Engine
Enable the Kubernetes Engine API
- Go to the Google Cloud Console
- Select your project — you will need the project ID
- Navigate to APIs & Services → Library
- Search for Kubernetes Engine API and click Enable
Have a Running Cluster
You must have at least one running GKE cluster. The server cannot create clusters. If no clusters exist,
list_clusters returns {} rather than an error.Add to Civic
Add the Google Kubernetes Engine server to your Civic environment through the server directory.
What You Can Do
Cluster Inspection
List clusters, view details, versions, endpoints, and Autopilot status
Node Pool Management
List and inspect node pools on Standard clusters
Kubernetes Resources
Query any Kubernetes resource — pods, deployments, services, configmaps, and 130+ resource types
Operations Tracking
Monitor in-progress cluster operations with detailed progress metrics
Use Cases
Cluster Inspection
- List Clusters:
"List all GKE clusters in project my-project across all regions" - Cluster Details:
"What's the status of cluster production-cluster in us-central1?" - Operations:
"Are there any GKE operations currently running?"
Kubernetes Resources
- Pods:
"Show me all pods that are not Running in the default namespace" - Deployments:
"Get the full YAML spec for the kube-dns deployment" - Services:
"List all services in kube-system as JSON" - Nodes:
"Show me all nodes in wide format — I want to see IPs and OS versions" - Discovery:
"What GKE-specific resource types are available?"
Available Tools (8)
Cluster Management
list_clusters
list_clusters
list_clusters — List all GKE clusters in a project and location. Use - for all locations. Always specify a project ID — projects/- wildcard fails with “Permission denied”.get_cluster
get_cluster
get_cluster — Get full details for a specific cluster including node pool names, release channel, and Autopilot flag.list_node_pools / get_node_pool
list_node_pools / get_node_pool
List and inspect node pools. Does not work with Autopilot clusters — use
kube_get node instead for Autopilot.list_operations / get_operation
list_operations / get_operation
Track in-progress and recent GKE control-plane operations with detailed progress metrics (e.g.
CLUSTER_DEPLOYING: 11/13).Kubernetes API
kube_api_resources
kube_api_resources
kube_api_resources — List all 130+ Kubernetes API resource types available on the cluster, including GKE-specific CRDs. Run this first on unfamiliar clusters.kube_get
kube_get
kube_get — Fetch any Kubernetes resource. Supports namespace, name, labelSelector, fieldSelector, and output formats: TABLE, WIDE, YAML, JSON. Equivalent to kubectl get.Project ID required — The server cannot discover project IDs. Use the same project ID from the GCP Console.Standard vs Autopilot —
list_node_pools and get_node_pool only work on Standard clusters. For Autopilot, use kube_get node for node info.Namespace scoping — For large clusters, always filter by namespace to avoid overwhelming responses. Key GKE namespaces: kube-system, gke-gmp-system, gke-managed-*.Pairs with Compute Engine — Use the Google Compute Engine server alongside for full GCP infrastructure visibility.
