A Model Context Protocol server that provides tools for interacting with Kubernetes clusters, including pod management, deployment operations, and log retrieval.
Kubernetes MCP server has basic tool definitions with schemas and descriptions, but significant quality gaps limit production readiness. All 7 tools have descriptions (10-70 chars, mostly short) and input schemas with types. However, descriptions lack actionable context for LLM selection, parameter descriptions are minimal, output schemas are undocumented, and error handling is absent. No tool annotations (readOnlyHint/destructiveHint) despite clear risk distinctions. Naming is verb-first and clear (list_pods, get_pod, create_deployment), following conventions. Critical issue: get_pod and get_deployment descriptions say 'default namespace' but list_pods accepts a namespace parameter, inconsistent API surface. No pagination support on list_pods despite returning potentially large result sets. Error responses are plain text concatenation, not structured.
Get the name of the current cluster
Create a deployment in the default namespace
Details about a deployment in the default namespace
Details about a pod in the default namesapce
Logs from a pod in the default namespace
List all pods in the cluster
Patch a deployment in the default namespace
Output schemas completely undocumented. Handlers return plain text via mcp.NewToolResultText() with no structured schema definition. LLMs cannot parse results reliably or chain tools.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). create_deployment and patch_deployment are WRITE operations but unmarked. LLMs cannot distinguish safe from destructive calls.
Inconsistent namespace handling. get_pod and get_deployment hardcoded to 'default namespace' but list_pods accepts namespace parameter. API surface is confusing, LLMs will attempt to list in 'prod' namespace then get_pod from 'default', causing mismatches.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No error guidance or recovery hints. Handlers return 'Error listing pods: <raw error>' with no actionable next steps. LLMs cannot self-correct or retry intelligently.
list_pods lacks pagination. No limit, offset, or page_size parameters. Large clusters will return unbounded results, exhausting context window and degrading LLM reasoning.