mcp
Server Details
Provides read access to your GKE and Kubernetes resources.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.7/5 across 23 of 23 tools scored.
Every tool has a clearly distinct purpose with no ambiguity. Tools are well-organized by domain (Kubernetes operations vs GKE cluster management) and action (create, get, list, update, delete, apply, patch, etc.). For example, get_k8s_resource retrieves resources while describe_k8s_resource shows detailed information, and apply_k8s_manifest applies manifests while patch_k8s_resource patches existing resources.
Tool names follow a highly consistent verb_noun pattern throughout. All tools use snake_case with clear action prefixes (apply_, cancel_, check_, create_, delete_, describe_, get_, list_, patch_, update_) followed by specific resource names. This makes the tool set predictable and easy to navigate.
With 23 tools, the count is slightly high but reasonable for the comprehensive Kubernetes/GKE management domain. The tools cover both Kubernetes operations (kubectl equivalents) and GKE-specific cluster management, which justifies the number. A slightly lower count might be possible through consolidation, but each tool earns its place.
The tool set provides complete CRUD/lifecycle coverage for both Kubernetes resources and GKE clusters. It includes creation (create_cluster, create_node_pool), retrieval (get_, list_, describe_), updates (update_, patch_, apply_), deletion (delete_k8s_resource), and monitoring operations (logs, events, rollout_status, operations). No obvious gaps exist for the stated Kubernetes/GKE management purpose.
Available Tools
23 toolsapply_k8s_manifestDestructiveIdempotentInspect
Applies a Kubernetes manifest to a cluster using server-side apply. This is similar to running kubectl apply --server-side.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Optional. If true, run in dry-run mode. | |
| parent | Yes | Required. The cluster to apply the manifest to. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| yamlManifest | Yes | Required. The YAML manifest to apply. | |
| forceConflicts | No | Optional. If true, force conflicts resolution when applying. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during apply. If this field is populated, some resources may not have been applied. |
| result | No | Result of the apply operation, e.g., resources created/configured. This might be a summary string or structured data. |
cancel_operationDestructiveIdempotentInspect
Cancels a specific GKE operation.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`. | |
| parent | Yes | Required. The parent cluster of the operation. Specified in the format `projects/*/locations/*/clusters/*`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during operation cancellation. |
check_k8s_authRead-onlyIdempotentInspect
Checks whether an action is allowed on a Kubernetes resource. This is similar to running kubectl auth can-i.
| Name | Required | Description | Default |
|---|---|---|---|
| verb | Yes | Required. The verb to check. e.g. "get", "list", "watch", "create", "update", "patch", "delete". | |
| parent | Yes | Required. The cluster to check authorization against. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| resource | No | Optional. The name of the resource to check. | |
| namespace | No | Optional. The namespace of the resource. If not specified, "default" is used for namespace-scoped resources. | |
| resourceType | Yes | Required. The type of resource to check. e.g. "pods", "deployments", "services". |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during auth check. |
| result | No | The result of auth can-i check. |
create_clusterInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`. | |
| cluster | Yes | Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) represented as a string using JSON format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during the operation. |
| operation | No | JSON string of the GKE Operation object. See: https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations |
create_node_poolInspect
Creates a node pool for a specific GKE cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`. | |
| nodePool | Yes | 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 |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during the operation. |
| operation | No | JSON string of the GKE Operation object. See: https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations |
delete_k8s_resourceDestructiveInspect
Deletes a Kubernetes resource from a cluster. This is similar to running kubectl delete.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name of the resource to delete. | |
| dryRun | No | Optional. If true, run in dry-run mode. | |
| parent | Yes | Required. The cluster, which owns this collection of resources. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| cascade | No | Optional. The cascading deletion policy to use. If not specified, 'background' is used. Valid values are 'background', 'foreground', and 'orphan'. | |
| namespace | No | Optional. The namespace of the resource. If not specified, "default" is used. | |
| resourceType | Yes | Required. The type of resource to delete. Kubernetes resource/kind name in singular form, lower case. e.g. "pod", "deployment", "service". |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during deletion. |
| result | No | Result of the delete operation. |
describe_k8s_resourceRead-onlyIdempotentInspect
Shows the details of a specific Kubernetes resource. This is similar to running kubectl describe.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional. The name of the resource. | |
| parent | Yes | Required. The parent cluster. | |
| namespace | No | Optional. The namespace of the resource. | |
| resourceType | Yes | Required. The type of the resource. | |
| labelSelector | No | Optional. A label selector to filter resources. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during description retrieval. |
| description | No | The description of the resource. |
get_clusterRead-onlyIdempotentInspect
Gets the details of a specific GKE cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`. | |
| readMask | No | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during cluster retrieval. |
| cluster | No | A string representing the Cluster object in JSON format. |
get_k8s_cluster_infoRead-onlyIdempotentInspect
Gets cluster endpoint information. This is similar to running kubectl cluster-info.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent cluster. Format: projects/{project}/locations/{location}/clusters/{cluster} |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during cluster info retrieval. |
| clusterInfo | No | The cluster info of the resource. Displays address and port information about the Kubernetes control plane and other services running within the cluster such as CoreDNS and Metrics-server. Example: "The Kubernetes control plane is at 10.128.0.10:6443. CoreDNS is running at https://192.0.2.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy Metrics-server is running at 127.0.0.1:8080" |
get_k8s_logsRead-onlyIdempotentInspect
Gets logs from a Kubernetes container in a pod. This is similar to running kubectl logs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 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. | |
| tail | No | Optional. The number of lines from the end of the logs to show. | |
| since | No | Optional. Retrieve logs since this duration ago (e.g. "1h", "10m"). | |
| parent | Yes | Required. The cluster to retrieve logs from. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| previous | No | Optional. If true, retrieve logs from the previous instantiation of the container. | |
| container | No | Optional. The name of the container to retrieve logs from. If not specified, logs from the first container are returned. | |
| namespace | No | Optional. The namespace of the resource. If not specified, "default" is used. | |
| sinceTime | No | Optional. Retrieve logs since this time (RFC3339). e.g. "2024-08-30T06:00:00Z". | |
| timestamps | No | Optional. If true, include timestamps in the log output. | |
| allContainers | No | Optional. If true, retrieve logs from all containers in the pod. |
Output Schema
| Name | Required | Description |
|---|---|---|
| logs | No | The logs from the resources. |
| errors | No | Errors encountered during log retrieval. |
get_k8s_resourceRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional. The name of the resource to retrieve. If not specified, all resources of the given type are returned. | |
| parent | Yes | Required. The cluster, which owns this collection of resources. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| namespace | No | Optional. The namespace of the resource. If not specified, all namespaces are searched. | |
| outputFormat | No | 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. | |
| resourceType | Yes | Required. The type of resource to retrieve. Kubernetes resource/kind name in singular form, lower case. e.g. "pod", "deployment", "service". | |
| customColumns | No | 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. | |
| fieldSelector | No | Optional. A field selector to filter resources. | |
| labelSelector | No | Optional. A label selector to filter resources. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during retrieval. |
| output | No | The output of the command in the requested format. It may contain resources in YAML or JSON format, or a table in plain text, or errors. |
get_k8s_rollout_statusRead-onlyIdempotentInspect
Checks the current rollout status of a Kubernetes resource. This is similar to running kubectl rollout status.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name of the resource to check. | |
| parent | Yes | Required. The cluster to check rollout status in. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| namespace | No | Optional. The namespace of the resource. If not specified, "default" is used for namespace-scoped resources. | |
| resourceType | Yes | Required. The type of resource to check. e.g. "deployment", "daemonset", "statefulset". |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during rollout status check. |
| result | No | The result of the rollout status check. |
get_k8s_versionRead-onlyIdempotentInspect
Retrieves Kubernetes client and server versions for a given cluster. This is similar to running kubectl version.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The cluster to get version information from, in the format `projects/*/locations/*/clusters/*`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during version retrieval. |
| serverVersion | No | The server version. |
get_node_poolRead-onlyIdempotentInspect
Gets the details of a specific node pool within a GKE cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during node pool retrieval. |
| nodePool | No | A string representing the NodePool object in JSON format. |
get_operationRead-onlyIdempotentInspect
Gets the details of a specific GKE operation.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during the operation. |
| operation | No | JSON string of the GKE Operation object. See: https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations |
list_clustersRead-onlyIdempotentInspect
Lists GKE clusters in a given project and location. Location can be a region, zone, or '-' for all locations.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | 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. | |
| readMask | No | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during cluster listing. |
| clusters | No | A string representing the ListClustersResponse object. |
list_k8s_api_resourcesRead-onlyIdempotentInspect
Retrieves the available API groups and resources from a Kubernetes cluster. This is similar to running kubectl api-resources.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The cluster, which owns this collection of resource types. Format: projects/{project}/locations/{location}/clusters/{cluster} |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during discovery. |
| groups | No | The list of API group discovery. |
list_k8s_eventsRead-onlyIdempotentInspect
Retrieves events from a Kubernetes cluster. This is similar to running kubectl events.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional. The name of the resource to retrieve events for. | |
| limit | No | Optional. The maximum number of events to return. If not specified, 500 is used. | |
| parent | Yes | Required. The parent cluster. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| namespace | No | Optional. The namespace of the resource. If not specified and all_namespaces is false, "default" is used. | |
| resourceType | No | Optional. The type of the resource to retrieve events for. | |
| allNamespaces | No | Optional. If true, retrieve events from all namespaces. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during events retrieval. |
| events | No | The events in string format. |
list_node_poolsRead-onlyIdempotentInspect
Lists the node pools for a specific GKE cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | Required. The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during node pool listing. |
| nodePools | No | A string representing the ListNodePoolsResponse object. |
list_operationsRead-onlyIdempotentInspect
Lists GKE operations in a given project and location. Location can be a region, zone, or '-' for all locations.
| Name | Required | Description | Default |
|---|---|---|---|
| parent | Yes | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during operations listing. |
| operations | No | A list of JSON strings of GKE Operation objects. See: https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations |
patch_k8s_resourceDestructiveInspect
Patches a Kubernetes resource. This is similar to running kubectl patch.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name of the resource to patch. | |
| patch | Yes | Required. The patch to apply in JSON format. | |
| parent | Yes | Required. The cluster to patch the resource in. Format: projects/{project}/locations/{location}/clusters/{cluster} | |
| namespace | No | Optional. The namespace of the resource. If not specified, "default" is used. | |
| patchType | No | Optional. The patch strategy to apply. Valid values are "strategic", "merge", or "json". If not specified, "strategic" patch type will be used. | |
| resourceType | Yes | Required. The type of resource to patch. e.g. "pods", "deployments", "services". |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during patching. |
| result | No | The result of the patch operation. |
update_clusterDestructiveIdempotentInspect
Updates a specific GKE cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`. | |
| update | Yes | 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 |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during the operation. |
| operation | No | JSON string of the GKE Operation object. See: https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations |
update_node_poolDestructiveIdempotentInspect
Updates a specific node pool within a GKE cluster.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Required. The name (project, location, cluster, node pool) of the node pool to update. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. | |
| update | Yes | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| errors | No | Errors encountered during the operation. |
| operation | No | JSON string of the GKE Operation object. See: https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceProvides read-only access to Kubernetes clusters for AI assistants.Last updated23MIT
- AlicenseAqualityAmaintenanceEnables safe, read-only interaction with Kubernetes clusters, allowing users to list resources and fetch logs without any create/update/delete operations.Last updated116Apache 2.0
- Flicense-qualityBmaintenanceEnables read-only Kubernetes incident investigation through MCP tools for listing pods, describing resources, fetching logs, and searching runbooks.Last updated1
- Flicense-qualityDmaintenanceEnables Kubernetes cluster introspection via MCP tools, such as listing pods, namespaces, nodes, and events.Last updated4