MCP server for Kubernetes resource management with support for listing, getting, applying, deleting, and posting Kubernetes resources
The server has 5 tools with solid naming conventions (all verb_noun style: list_, get_, apply_, delete_, post_). Tool descriptions exist but are minimal (9-64 chars, well below the 194-char baseline for production tools). Tool annotations are present and correct. The server demonstrates good engineering fundamentals but lacks the documentation depth required for reliable LLM interaction, parameter descriptions are present in the schema builders but tool-level guidance about prerequisites, return types, and error recovery is missing.
Apply (create or update) a Kubernetes resource
Delete a Kubernetes resource
Get a Kubernetes resource
List Kubernetes resources
Post (create subresource) a Kubernetes resource
Three tools lack visible input schemas. get_resource, delete_resource, and post_resource are defined in pkg/mcp/server.go but the source snippet does not show their schema definitions.
Tool descriptions are minimal (9-64 chars vs. 194-char production baseline). 'Get a Kubernetes resource' and 'Delete a Kubernetes resource' lack context about prerequisites, return types, error cases, and when to use this tool instead of alternatives.
Output schemas are not documented. The source shows no response schema definitions for any tool. LLMs cannot infer what fields to expect, preventing chaining calls and forcing agents to guess at response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Error handling and recovery guidance missing from tool descriptions. Descriptions do not explain what happens on failure, which errors are retryable, or what the LLM should do next (e.g., 'If namespace does not exist, call list_namespaces first').
No pagination validation documented in list_resources description. The schema includes 'limit' and 'continue' parameters but the description does not specify the default limit, maximum limit, or behavior when limit=0.
Destructive operations (delete_resource) lack dry-run or confirmation workflow. Per pattern, irreversible operations should support confirmation. No evidence of a confirmation-request pattern.
Parameter description for 'group' is incomplete. 'API group (e.g., apps, networking.k8s.io)' provides examples but does not explain when group is required vs. optional or what the default is for core APIs.