com.googleapis.container/mcp
Official23 toolsProvides read access to your GKE and Kubernetes resources.
Access and monitor GKE and Kubernetes cluster resources.
Captured live from the server via tools/list.
list_k8s_api_resources
Retrieves the available API groups and resources from a Kubernetes cluster. This is similar to running `kubectl api-resources`.
Parameters (1)
- parentstringrequired
Required. The cluster, which owns this collection of resource types. Format: projects/{project}/locations/{location}/clusters/{cluster}
check_k8s_auth
Checks whether an action is allowed on a Kubernetes resource. This is similar to running `kubectl auth can-i`.
Parameters (5)
- namespacestring
Optional. The namespace of the resource. If not specified, "default" is used for namespace-scoped resources.
- parentstringrequired
Required. The cluster to check authorization against. Format: projects/{project}/locations/{location}/clusters/{cluster}
- resourcestring
Optional. The name of the resource to check.
- resourceTypestringrequired
Required. The type of resource to check. e.g. "pods", "deployments", "services".
- verbstringrequired
Required. The verb to check. e.g. "get", "list", "watch", "create", "update", "patch", "delete".
describe_k8s_resource
Shows the details of a specific Kubernetes resource. This is similar to running `kubectl describe`.
Parameters (5)
- labelSelectorstring
Optional. A label selector to filter resources.
- namestring
Optional. The name of the resource.
- namespacestring
Optional. The namespace of the resource.
- parentstringrequired
Required. The parent cluster.
- resourceTypestringrequired
Required. The type of the resource.
list_k8s_events
Retrieves events from a Kubernetes cluster. This is similar to running `kubectl events`.
Parameters (6)
- allNamespacesboolean
Optional. If true, retrieve events from all namespaces.
- limitstring
Optional. The maximum number of events to return. If not specified, 500 is used.
- namestring
Optional. The name of the resource to retrieve events for.
- namespacestring
Optional. The namespace of the resource. If not specified and all_namespaces is false, "default" is used.
- parentstringrequired
Required. The parent cluster. Format: projects/{project}/locations/{location}/clusters/{cluster}
- resourceTypestring
Optional. The type of the resource to retrieve events for.
get_k8s_resource
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`.
Parameters (8)
- customColumnsstring
Optional. The field mask to specify columns to display. Use a single "*" to get all fields. When both custom_columns and output_format are specified, output_format is ignored.
- fieldSelectorstring
Optional. A field selector to filter resources.
- labelSelectorstring
Optional. A label selector to filter resources.
- namestring
Optional. The name of the resource to retrieve. If not specified, all resources of the given type are returned.
- namespacestring
Optional. The namespace of the resource. If not specified, all namespaces are searched.
- outputFormatstring
Optional. The output format. One of: (table, wide, yaml, json). If not specified, defaults to table. When both custom_columns and output_format are specified, output_format is ignored.
- parentstringrequired
Required. The cluster, which owns this collection of resources. Format: projects/{project}/locations/{location}/clusters/{cluster}
- resourceTypestringrequired
Required. The type of resource to retrieve. Kubernetes resource/kind name in singular form, lower case. e.g. "pod", "deployment", "service".
get_k8s_cluster_info
Gets cluster endpoint information. This is similar to running `kubectl cluster-info`.
Parameters (1)
- parentstringrequired
Required. The parent cluster. Format: projects/{project}/locations/{location}/clusters/{cluster}
get_k8s_version
Retrieves Kubernetes client and server versions for a given cluster. This is similar to running `kubectl version`.
Parameters (1)
- parentstringrequired
Required. The cluster to get version information from, in the format `projects/*/locations/*/clusters/*`.
get_k8s_rollout_status
Checks the current rollout status of a Kubernetes resource. This is similar to running `kubectl rollout status`.
Parameters (4)
- namestringrequired
Required. The name of the resource to check.
- namespacestring
Optional. The namespace of the resource. If not specified, "default" is used for namespace-scoped resources.
- parentstringrequired
Required. The cluster to check rollout status in. Format: projects/{project}/locations/{location}/clusters/{cluster}
- resourceTypestringrequired
Required. The type of resource to check. e.g. "deployment", "daemonset", "statefulset".
list_clusters
Lists GKE clusters in a given project and location. Location can be a region, zone, or '-' for all locations.
Parameters (2)
- parentstringrequired
Required. The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location "-" matches all zones and all regions.
- readMaskstring
Optional. The field mask to specify the fields to be returned in the response. Use a single "*" to get all fields. Default: clusters.autopilot,clusters.createTime,clusters.currentMasterVersion,clusters.currentNodeCount,clusters.currentNodeVersion,clusters.description,clusters.endpoint,clusters.fleet,clusters.location,clusters.name,clusters.network,clusters.nodePools.name,clusters.releaseChannel,clusters.resourceLabels,clusters.selfLink,clusters.status,clusters.statusMessage,clusters.subnetwork,missingZones.
create_cluster
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`.
Parameters (2)
- clusterstringrequired
Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) represented as a string using JSON format.
- parentstringrequired
Required. The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.
update_cluster
Updates a specific GKE cluster.
Parameters (2)
- namestringrequired
Required. The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.
- updatestringrequired
Required. A description of the update represented as a string using JSON format. The full update request object can be found at https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters/update https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/ClusterUpdate
get_cluster
Gets the details of a specific GKE cluster.
Parameters (2)
- namestringrequired
Required. The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.
- readMaskstring
Optional. The field mask to specify the fields to be returned in the response. Use a single "*" to get all fields. Default: autopilot,createTime,currentMasterVersion,currentNodeCount,currentNodeVersion,description,endpoint,fleet,location,name,network,nodePools.locations,nodePools.name,nodePools.status,nodePools.version,releaseChannel,resourceLabels,selfLink,status,statusMessage,subnetwork.
list_operations
Lists GKE operations in a given project and location. Location can be a region, zone, or '-' for all locations.
Parameters (1)
- parentstringrequired
Required. The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location "-" matches all zones and all regions.
get_operation
Gets the details of a specific GKE operation.
Parameters (1)
- namestringrequired
Required. The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.
cancel_operation
Cancels a specific GKE operation.
Parameters (2)
- namestringrequired
Required. The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.
- parentstringrequired
Required. The parent cluster of the operation. Specified in the format `projects/*/locations/*/clusters/*`.
create_node_pool
Creates a node pool for a specific GKE cluster.
Parameters (2)
- nodePoolstringrequired
Required. The node pool to create represented as a string using JSON format. The full node pool object can be found at https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools
- parentstringrequired
Required. The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.
list_node_pools
Lists the node pools for a specific GKE cluster.
Parameters (1)
- parentstringrequired
Required. The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.
get_node_pool
Gets the details of a specific node pool within a GKE cluster.
Parameters (1)
- namestringrequired
Required. The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
update_node_pool
Updates a specific node pool within a GKE cluster.
Parameters (2)
- namestringrequired
Required. The name (project, location, cluster, node pool) of the node pool to update. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
- updatestringrequired
Required. A [node pool update request](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters.nodePools/update) represented as a string using JSON format.
get_k8s_logs
Gets logs from a Kubernetes container in a pod. This is similar to running `kubectl logs`.
Parameters (10)
- allContainersboolean
Optional. If true, retrieve logs from all containers in the pod.
- containerstring
Optional. The name of the container to retrieve logs from. If not specified, logs from the first container are returned.
- namestringrequired
Required. The name of the resource to retrieve logs from. This can be a pod name (e.g. "my-pod") or a type/name (e.g. "deployment/my-deployment"). If a type is not specified, "pod" is assumed.
- namespacestring
Optional. The namespace of the resource. If not specified, "default" is used.
- parentstringrequired
Required. The cluster to retrieve logs from. Format: projects/{project}/locations/{location}/clusters/{cluster}
- previousboolean
Optional. If true, retrieve logs from the previous instantiation of the container.
- sincestring
Optional. Retrieve logs since this duration ago (e.g. "1h", "10m").
- sinceTimestring
Optional. Retrieve logs since this time (RFC3339). e.g. "2024-08-30T06:00:00Z".
- tailstring
Optional. The number of lines from the end of the logs to show.
- timestampsboolean
Optional. If true, include timestamps in the log output.
apply_k8s_manifest
Applies a Kubernetes manifest to a cluster using server-side apply. This is similar to running `kubectl apply --server-side`.
Parameters (4)
- dryRunboolean
Optional. If true, run in dry-run mode.
- forceConflictsboolean
Optional. If true, force conflicts resolution when applying.
- parentstringrequired
Required. The cluster to apply the manifest to. Format: projects/{project}/locations/{location}/clusters/{cluster}
- yamlManifeststringrequired
Required. The YAML manifest to apply.
delete_k8s_resource
Deletes a Kubernetes resource from a cluster. This is similar to running `kubectl delete`.
Parameters (6)
- cascadestring
Optional. The cascading deletion policy to use. If not specified, 'background' is used. Valid values are 'background', 'foreground', and 'orphan'.
- dryRunboolean
Optional. If true, run in dry-run mode.
- namestringrequired
Required. The name of the resource to delete.
- namespacestring
Optional. The namespace of the resource. If not specified, "default" is used.
- parentstringrequired
Required. The cluster, which owns this collection of resources. Format: projects/{project}/locations/{location}/clusters/{cluster}
- resourceTypestringrequired
Required. The type of resource to delete. Kubernetes resource/kind name in singular form, lower case. e.g. "pod", "deployment", "service".
patch_k8s_resource
Patches a Kubernetes resource. This is similar to running `kubectl patch`.
Parameters (6)
- namestringrequired
Required. The name of the resource to patch.
- namespacestring
Optional. The namespace of the resource. If not specified, "default" is used.
- parentstringrequired
Required. The cluster to patch the resource in. Format: projects/{project}/locations/{location}/clusters/{cluster}
- patchstringrequired
Required. The patch to apply in JSON format.
- patchTypestring
Optional. The patch strategy to apply. Valid values are "strategic", "merge", or "json". If not specified, "strategic" patch type will be used.
- resourceTypestringrequired
Required. The type of resource to patch. e.g. "pods", "deployments", "services".
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://container.googleapis.com/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.