Skip to content

com.googleapis.container/mcp

by container.googleapis.com · remote · no sign-in to list tools · v1.0.0 · published by com.googleapis.container

Provides read access to your GKE and Kubernetes resources.

Deletes · 6Changes · 3

23 tools: 6 can delete or cancel things, 3 change things and 14 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http container https://container.googleapis.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

23 tools

Deletes or cancels 6Claude Code: deny
  • apply_k8s_manifestApplies a Kubernetes manifest to a cluster using server-side apply.No findings

    Why it is in this group

    • The name "apply_k8s_manifest" says "apply": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Applies a Kubernetes manifest to a cluster using server-side apply. This is similar to running `kubectl apply --server-side`.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: false
  • cancel_operationCancels a specific GKE operation.No findings

    Why it is in this group

    • The name "cancel_operation" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancels a specific GKE operation.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: false
  • delete_k8s_resourceDeletes a Kubernetes resource from a cluster.No findings

    Why it is in this group

    • The name "delete_k8s_resource" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deletes a Kubernetes resource from a cluster. This is similar to running `kubectl delete`.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
  • patch_k8s_resourcePatches a Kubernetes resource.No findings

    Why it is in this group

    • The name "patch_k8s_resource" says "patch": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Patches a Kubernetes resource. This is similar to running `kubectl patch`.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
  • update_clusterUpdates a specific GKE cluster.No findings

    Why it is in this group

    • The name "update_cluster" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Updates a specific GKE cluster.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: false
  • update_node_poolUpdates a specific node pool within a GKE cluster.No findings

    Why it is in this group

    • The name "update_node_pool" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Updates a specific node pool within a GKE cluster.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: false
Changes things 3Claude Code: ask
  • check_k8s_authChecks whether an action is allowed on a Kubernetes resource.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks whether an action is allowed on a Kubernetes resource. This is similar to running `kubectl auth can-i`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • create_clusterCreates a new GKE cluster in a given project and location.No findings

    Why it is in this group

    • The name "create_cluster" says "create": a word for a change.
    Description, as the server wrote it
    Creates a new GKE cluster in a given project and location. It's recommended to read the [GKE documentation](https://docs.cloud.google.com/kubernetes-engine/docs/concepts/configuration-overview) to understand cluster configuration options. Cluster creation will default to Autopilot mode, as recommended by GKE best practices. If the user explicitly wants to create a Standard cluster, you need to set autopilot.enabled=false in the cluster configuration. This is similar to running `gcloud container clusters create-auto` or `gcloud container clusters create`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
  • create_node_poolCreates a node pool for a specific GKE cluster.No findings

    Why it is in this group

    • The name "create_node_pool" says "create": a word for a change.
    Description, as the server wrote it
    Creates a node pool for a specific GKE cluster.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
Only reads 14Claude Code: allow
  • describe_k8s_resourceShows the details of a specific Kubernetes resource.No findings

    Why it is in this group

    • The name "describe_k8s_resource" says "describe": a word for reading.
    Description, as the server wrote it
    Shows the details of a specific Kubernetes resource. This is similar to running `kubectl describe`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_clusterGets the details of a specific GKE cluster.No findings

    Why it is in this group

    • The name "get_cluster" says "get": a word for reading.
    Description, as the server wrote it
    Gets the details of a specific GKE cluster.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_k8s_cluster_infoGets cluster endpoint information.No findings

    Why it is in this group

    • The name "get_k8s_cluster_info" says "get": a word for reading.
    Description, as the server wrote it
    Gets cluster endpoint information. This is similar to running `kubectl cluster-info`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_k8s_logsGets logs from a Kubernetes container in a pod.No findings

    Why it is in this group

    • The name "get_k8s_logs" says "get": a word for reading.
    Description, as the server wrote it
    Gets logs from a Kubernetes container in a pod. This is similar to running `kubectl logs`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_k8s_resourceGets one or more Kubernetes resources from a cluster.No findings

    Why it is in this group

    • The name "get_k8s_resource" says "get": a word for reading.
    Description, as the server wrote it
    Gets one or more Kubernetes resources from a cluster. Resources can be filtered by type, name, namespace, and label selectors. Returns the resources in YAML format. This is similar to running `kubectl get`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_k8s_rollout_statusChecks the current rollout status of a Kubernetes resource.No findings

    Why it is in this group

    • The name "get_k8s_rollout_status" says "get": a word for reading.
    Description, as the server wrote it
    Checks the current rollout status of a Kubernetes resource. This is similar to running `kubectl rollout status`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_k8s_versionRetrieves Kubernetes client and server versions for a given cluster.No findings

    Why it is in this group

    • The name "get_k8s_version" says "get": a word for reading.
    Description, as the server wrote it
    Retrieves Kubernetes client and server versions for a given cluster. This is similar to running `kubectl version`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_node_poolGets the details of a specific node pool within a GKE cluster.No findings

    Why it is in this group

    • The name "get_node_pool" says "get": a word for reading.
    Description, as the server wrote it
    Gets the details of a specific node pool within a GKE cluster.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_operationGets the details of a specific GKE operation.No findings

    Why it is in this group

    • The name "get_operation" says "get": a word for reading.
    Description, as the server wrote it
    Gets the details of a specific GKE operation.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • list_clustersLists GKE clusters in a given project and location.No findings

    Why it is in this group

    • The name "list_clusters" says "list": a word for reading.
    Description, as the server wrote it
    Lists GKE clusters in a given project and location. Location can be a region, zone, or '-' for all locations.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • list_k8s_api_resourcesRetrieves the available API groups and resources from a Kubernetes cluster.No findings

    Why it is in this group

    • The name "list_k8s_api_resources" says "list": a word for reading.
    Description, as the server wrote it
    Retrieves the available API groups and resources from a Kubernetes cluster. This is similar to running `kubectl api-resources`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • list_k8s_eventsRetrieves events from a Kubernetes cluster.No findings

    Why it is in this group

    • The name "list_k8s_events" says "list": a word for reading.
    Description, as the server wrote it
    Retrieves events from a Kubernetes cluster. This is similar to running `kubectl events`.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • list_node_poolsLists the node pools for a specific GKE cluster.No findings

    Why it is in this group

    • The name "list_node_pools" says "list": a word for reading.
    Description, as the server wrote it
    Lists the node pools for a specific GKE cluster.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • list_operationsLists GKE operations in a given project and location.No findings

    Why it is in this group

    • The name "list_operations" says "list": a word for reading.
    Description, as the server wrote it
    Lists GKE operations in a given project and location. Location can be a region, zone, or '-' for all locations.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http container https://container.googleapis.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__container__list_k8s_api_resources",
      "mcp__container__describe_k8s_resource",
      "mcp__container__list_k8s_events",
      "mcp__container__get_k8s_resource",
      "mcp__container__get_k8s_cluster_info",
      "mcp__container__get_k8s_version",
      "mcp__container__get_k8s_rollout_status",
      "mcp__container__list_clusters",
      "mcp__container__get_cluster",
      "mcp__container__list_operations",
      "mcp__container__get_operation",
      "mcp__container__list_node_pools",
      "mcp__container__get_node_pool",
      "mcp__container__get_k8s_logs"
    ],
    "ask": [
      "mcp__container__check_k8s_auth",
      "mcp__container__create_cluster",
      "mcp__container__create_node_pool"
    ],
    "deny": [
      "mcp__container__update_cluster",
      "mcp__container__cancel_operation",
      "mcp__container__update_node_pool",
      "mcp__container__apply_k8s_manifest",
      "mcp__container__delete_k8s_resource",
      "mcp__container__patch_k8s_resource"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as container. Review it before you use it.