Server defines 9 tools with explicit schemas and descriptions visible in index.ts. All tools have basic descriptions (10-50 chars) and input schemas with type definitions. However, descriptions are minimal and lack LLM-optimized guidance on WHEN to use each tool or what happens next. Parameter descriptions are present but terse. No output schemas documented. Error handling is absent from tool definitions. Destructive tools (delete_pod, scale_deployment, update_deployment_image) lack confirmation patterns or dry-run support. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Naming is verb-first and clear, which is a strength.
Delete a pod (will be recreated by deployment if managed)
Get detailed information about a pod
Get list of deployments in a namespace
Get logs from a pod
Get list of pods in a namespace
Get list of services in a namespace
Restart a deployment by rolling out a restart
Descriptions are too brief (10-50 chars) and lack LLM-optimized guidance. 'Get list of pods in a namespace' does not explain WHEN to call this vs describe_pod, what fields are returned, or how to chain to downstream tools. Baseline for A+ tools is 50-200 chars with context.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., pod names, deployment status). Every tool should document what fields are returned and their types.
Destructive/write tools (delete_pod, scale_deployment, update_deployment_image) lack confirmation patterns, dry-run support, or explicit error recovery guidance. Agents can accidentally delete pods or scale to zero replicas without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Scale a deployment to a specific number of replicas
Update the container image for a deployment
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Tools are marked READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE in metadata but not in MCP tool definitions. Clients cannot distinguish safe from dangerous tools.
No error handling or recovery guidance in tool definitions. If a pod is not found, the tool will fail silently. LLMs need actionable error messages: 'Pod not found. Call get_pods() to list available pods in the namespace.'