MCP Reference: container.googleapis.com

A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

Server Setup

You must enable MCP servers and set up authentication before use. For more information about using Google and Google Cloud remote MCP servers, see Google Cloud MCP servers overview.

This is an MCP server which provides tools to manage Google Kubernetes Engine (GKE) clusters and their Kubernetes resources.

Server Endpoints

An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The container.googleapis.com MCP server has the following MCP endpoints:

  • https://container.googleapis.com/mcp
  • https://container.googleapis.com/mcp/read-only
  • https://container.googleapis.com/mcp/delete-tools

MCP Tools

An MCP tool is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

The container.googleapis.com MCP server has the following tools:

MCP Tools
list_k8s_api_resources Retrieves the available API groups and resources from a Kubernetes cluster. This is similar to running kubectl api-resources.
check_k8s_auth Checks whether an action is allowed on a Kubernetes resource. This is similar to running kubectl auth can-i.
describe_k8s_resource Shows the details of a specific Kubernetes resource. This is similar to running kubectl describe.
list_k8s_events Retrieves events from a Kubernetes cluster. This is similar to running kubectl events.
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.
get_k8s_cluster_info Gets cluster endpoint information. This is similar to running kubectl cluster-info.
get_k8s_version Retrieves Kubernetes client and server versions for a given cluster. This is similar to running kubectl version.
get_k8s_rollout_status Checks the current rollout status of a Kubernetes resource. This is similar to running kubectl rollout status.
list_clusters Lists GKE clusters in a given project and location. Location can be a region, zone, or '-' for all locations.
create_cluster Creates a new GKE cluster in a given project and location. It's recommended to read the GKE documentation 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.
delete_cluster Deletes a specific GKE cluster.
update_cluster Updates a specific GKE cluster.
get_cluster Gets the details of a specific GKE cluster.
list_operations Lists GKE operations in a given project and location. Location can be a region, zone, or '-' for all locations.
get_operation Gets the details of a specific GKE operation.
cancel_operation Cancels a specific GKE operation.
create_node_pool Creates a node pool for a specific GKE cluster.
list_node_pools Lists the node pools for a specific GKE cluster.
get_node_pool Gets the details of a specific node pool within a GKE cluster.
update_node_pool Updates a specific node pool within a GKE cluster.
delete_node_pool Deletes a specific node pool from a GKE cluster.
get_k8s_logs Gets logs from a Kubernetes container in a pod. This is similar to running kubectl logs.
apply_k8s_manifest Applies a Kubernetes manifest to a cluster using server-side apply. This is similar to running kubectl apply --server-side.
delete_k8s_resource Deletes a Kubernetes resource from a cluster. This is similar to running kubectl delete.
patch_k8s_resource Patches a Kubernetes resource. This is similar to running kubectl patch.

Get MCP tool specifications

To get the MCP tool specifications for all tools in an MCP server, use the tools/list method. The following example demonstrates how to use curl to list all tools and their specifications currently available within the MCP server.

Curl Request
                      curl --location 'https://container.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'