Skip to main content

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 use kube_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

1

Enable the Kubernetes Engine API

  1. Go to the Google Cloud Console
  2. Select your project — you will need the project ID
  3. Navigate to APIs & Services → Library
  4. Search for Kubernetes Engine API and click Enable
2

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.
3

Add to Civic

Add the Google Kubernetes Engine server to your Civic environment through the server directory.
4

Authorize

On first use, you will be redirected to Google to authorize the connection.
5

Test Connection

Start with "List all GKE clusters in project my-project across all regions" to verify the connection.

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 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 full details for a specific cluster including node pool names, release channel, and Autopilot flag.
List and inspect node pools. Does not work with Autopilot clusters — use kube_get node instead for Autopilot.
Track in-progress and recent GKE control-plane operations with detailed progress metrics (e.g. CLUSTER_DEPLOYING: 11/13).

Kubernetes API

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 — 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 Autopilotlist_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.

Guardrails

This server supports all 14 universal guardrails. Server-specific guardrails are coming soon.
Configure guardrails via the Civic UI or ask the Configurator Agent: “Add guardrails to my GKE server.”