A Kubernetes MCP server that provides tools for managing and querying Kubernetes resources in a Kyma cluster, with support for applying manifests, listing resources, and retrieving resource details. Also provides access to embedded documentation resources.
Three tools with Kubernetes operations. Tool names are clear and action-oriented (apply, list, get), following verb_noun conventions. However, descriptions lack depth and guidance for LLM selection. Parameter descriptions are present but minimal. No output schemas are documented. Input schemas are visible and properly typed, but lack examples of valid values for critical fields like apiVersion and kind. Error handling guidance is absent.
Applies any Kubernetes resource manifest (YAML or JSON) to the cluster.
Gets a specific Kubernetes resource by name, apiVersion, and kind.
Lists Kubernetes resources of a given type (pods, deployments, services, etc.) with optional namespace and label filtering.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields from Kubernetes responses.
Tool descriptions are generic and under 100 characters. They lack context on WHEN to use each tool, prerequisites, or what to expect. For example, 'applyKubernetesResource' does not explain that it can create or update, whether it waits for readiness, or how to interpret success.
apiVersion and kind parameters accept free-form strings with no enum constraints or validation guidance. LLMs can hallucinate invalid values like 'v99', 'banana/v1', or misspell 'Pod' as 'pod'. No pattern or enum provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | - | v1 |
No error handling guidance. Errors (invalid manifest, resource not found, permission denied) are not documented. LLMs have no recovery path if a call fails.
applyKubernetesResource description does not declare it is destructive/idempotent, or that it can create or modify resources. Agents need to know this tool has side effects and may be retryable.
listKubernetesResources has no documented pagination or result limiting strategy. For clusters with thousands of resources, unbounded listings can exhaust context windows and degrade LLM reasoning.
namespace parameter behavior is unclear. For cluster-scoped resources, is namespace ignored silently or flagged as an error? The description mentions this but does not clarify handling.