k8s-pilot provides 8 tools for Kubernetes cluster management with partial schema definitions and inconsistent descriptions. Tools follow verb-noun naming (get_clusters, set_current_cluster, configmap_list) which is good, but descriptions lack the depth needed for LLM disambiguation. Input schemas are present but incomplete, many lack full type information and parameter descriptions. Output schemas are entirely undocumented, forcing LLMs to guess response structures. Error handling is not visible in the provided code. The server supports prompts and resources but lacks critical annotations (tool annotations for destructive operations), logging, and error reporting features.
Create a ConfigMap in the specified namespace.
Delete a ConfigMap from the specified namespace.
Get details of a specific ConfigMap.
List all ConfigMaps in a given namespace.
Update an existing ConfigMap in the specified namespace.
Get all clusters from the kubeconfig file.
Get the current cluster from the kubeconfig file.
No output schemas documented. Tools return Kubernetes API objects but LLMs cannot determine field structure, types, or whether required IDs/references are present. This forces LLMs to guess downstream tool parameters.
Tool descriptions are generic and lack LLM-optimization. Most descriptions (45-50 chars) are below the baseline effective range (50-200 chars). No description explains WHEN to use the tool vs alternatives, what it returns, or prerequisites. E.g., 'List all ConfigMaps in a given namespace' does not hint at pagination, filtering, or how to use context_name.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 59 | - | v1 |
Set the current cluster in the kubeconfig file.
Missing destructive operation annotations. configmap_delete is destructive and should include explicit confirmation or dry-run support. No toolAnnotations (readOnlyHint, destructiveHint, idempotentHint) are present despite WRITE and DESTRUCTIVE risk classifications in the metadata.
Parameter descriptions in configmap_create and configmap_update lack validation hints. The 'data' parameter is described only as 'The data to store in the ConfigMap' without explaining format constraints, size limits, or required keys. LLMs may pass invalid structures.
No error handling guidance visible. There is no documentation of what errors can be returned (e.g., context not found, namespace not accessible, permission denied) or how LLMs should respond. Agents will have no recovery path.