GKE MCP Server

Manage Google Kubernetes Engine clusters, workloads, logs and metrics from an MCP client

Official · Google Cloud Platform Go Local · stdio Cloud platformsDevOps and monitoring

35 popularity score ★ 169

Connect your client

Local (from source)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

FirstTerminal
go install github.com/GoogleCloudPlatform/gke-mcp@latest
Claude CodeTerminal
claude mcp add gke -- gke-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "gke": {
      "command": "gke-mcp",
      "args": []
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "gke": {
      "command": "gke-mcp",
      "args": []
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "gke": {
      "type": "stdio",
      "command": "gke-mcp",
      "args": []
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.gke]
command = "gke-mcp"
args = []
Gemini CLITerminal
gemini mcp add --scope user gke gke-mcp

Settings 5

GKE_MCP_PROVIDER Optional: Model provider for generate_manifest: vertex-ai (default) or anthropic.
GKE_MCP_MODEL Optional: Model used by generate_manifest; defaults to gemini-2.5-pro on Vertex AI.
ANTHROPIC_API_KEY Optional: Needed for generate_manifest when the provider is anthropic.
DK_API_KEY Optional: Developer Knowledge API key so generate_manifest can pull GKE docs; GEMINI_API_KEY is used if unset.
DK_BASE_URL Optional: Override for the Developer Knowledge API address.

What it does

GKE MCP Server is a Go binary from the GoogleCloudPlatform organisation that gives an MCP client hands-on access to Google Kubernetes Engine. It covers both layers of a GKE setup: the Google Cloud side (clusters, node pools, long-running operations, recommendations, release notes) and the Kubernetes side inside a cluster (getting, describing, applying, patching and deleting resources, reading pod logs, events and rollout status).

It also reaches the observability services around GKE: Cloud Logging queries in LQL with per-log-type schemas, Cloud Monitoring metrics through PromQL, and Cloud Trace. A generate_manifest tool runs its own small agent on Vertex AI Gemini by default (Anthropic can be chosen instead) to draft Kubernetes manifests, optionally grounded in Google's Developer Knowledge API. Besides tools it ships prompts and bundled context for cost questions, upgrade risk reports and checking clusters against GKE known issues.

It runs locally over stdio by default, or as a Streamable HTTP server bound to 127.0.0.1:8080. It can be added as a Gemini CLI extension, and the binary has install subcommands that write the config for Claude Desktop, Claude Code and Cursor. The source registers 38 tools; the README lists 28 of them.

The repository's own disclaimer calls it experimental, provided for education and experimentation, not an officially supported Google product and not for production use; Google Cloud's terms of service do not cover it.

What it needs

RuntimeGo

A Go toolchain to build it with go install, or Linux or macOS for the install script. The gcloud CLI signed in to a Google Cloud project with GKE (it reads the default project and location from gcloud config). generate_manifest needs Vertex AI access in that project, or ANTHROPIC_API_KEY with GKE_MCP_PROVIDER=anthropic; documentation grounding needs a Developer Knowledge API key.

Limits

Its makers label it experimental, best-effort and not for production; it may change without notice. delete_cluster and delete_node_pool only appear when started with --enable-delete-tools. Works only with GKE clusters on Google Cloud, not other Kubernetes distributions. The quick install script is for Linux and macOS only. The HTTP mode has no built-in sign-in, so its docs warn against binding it to a non-loopback address without a firewall.

Who it suits

Suits engineers who already run GKE and use gcloud locally and want an assistant to inspect clusters, read logs and metrics, troubleshoot nodes and make changes, from Gemini CLI or another MCP client. Because it holds your own Google Cloud credentials and can create, patch and delete resources, it fits test and development projects better than production, which its makers also say. Teams on EKS, AKS or self-managed Kubernetes need a different server.

Tools 38

list_clusters
Lists the GKE clusters in a project.
get_cluster
Returns the full details of one cluster.
create_cluster
Creates a cluster, Autopilot unless told otherwise.
update_cluster
Changes settings on an existing cluster.
delete_cluster
Removes a cluster; only offered with --enable-delete-tools.
get_kubeconfig
Sets up kubeconfig credentials for a cluster.
get_node_sos_report
Collects an SOS diagnostic report from a node via a pod or SSH.
list_node_pools
Lists the node pools of a cluster.
get_node_pool
Shows the details of one node pool.
create_node_pool
Adds a node pool to a cluster.
update_node_pool
Changes a node pool's settings.
delete_node_pool
Removes a node pool; only offered with --enable-delete-tools.
list_operations
Lists long-running GKE operations.
get_operation
Shows the status of one GKE operation.
cancel_operation
Cancels a running GKE operation.
cluster_toolkit_download
Fetches the Cluster Toolkit git repository locally.
gke_deploy
Guides deploying a workload to a cluster from a config file.
generate_manifest
Drafts a Kubernetes manifest using a model-backed agent.
query_logs
Runs a Cloud Logging query written in LQL.
get_log_schema
Returns the field layout of a given GKE log type.
list_monitored_resource_descriptors
Lists the Cloud Monitoring resource types tied to GKE.
query_prometheus
Runs a PromQL instant query against Cloud Monitoring.
query_traces
Searches Cloud Trace for traces in a time range.
list_recommendations
Lists Google's recommendations for GKE clusters.
get_k8s_changelog
Fetches the Kubernetes changelog to plan upgrades.
get_gke_release_notes
Fetches GKE release notes.
get_k8s_resource
Reads one or more Kubernetes objects, like kubectl get.
describe_k8s_resource
Shows detailed state of a Kubernetes object, like kubectl describe.
list_k8s_api_resources
Lists the resource types the cluster API serves.
list_k8s_events
Reads events from a cluster.
get_k8s_cluster_info
Shows basic endpoint information for a cluster.
get_k8s_version
Reports the Kubernetes server version.
get_k8s_rollout_status
Reports the progress of a rollout.
get_k8s_logs
Reads container logs from a pod.
check_k8s_auth
Checks whether the current identity may perform an action.
apply_k8s_manifest
Applies a manifest to a cluster with server-side apply.
patch_k8s_resource
Patches an existing Kubernetes object.
delete_k8s_resource
Deletes a Kubernetes object from a cluster.

Similar servers