An MCP server exposing safe, read-only-by-default DevOps and Kubernetes tools to any AI agent.
Server has 8 well-named, read-only tools with consistent verb-noun naming (list_*, get_*, describe_*, node_capacity, cloud_cost_summary). All tools have descriptions (10 - 200 chars, within baseline 34 - 392 range). Input schemas are present with type definitions for all parameters. However, descriptions lack depth, most are 1 - 2 sentences without WHEN to use, prerequisites, or dependency hints. Parameter descriptions are minimal (e.g., 'Target namespace. Defaults to the configured namespace.' lacks format/constraint details). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code; no recovery guidance. The cloud_cost_summary tool is explicitly stubbed with placeholder data, reducing practical value. Overall: solid foundation, but lacks LLM-optimization depth and output documentation expected of A-grade tools.
Return a STUBBED cloud cost summary (illustrative placeholder data).
Return detailed information about a single Deployment.
Fetch the most recent log lines for a pod (read-only).
List Deployments in a namespace with replica readiness.
List Helm releases via ``helm list -o json`` (read-only, sandboxed).
List pods in a namespace with phase, node, and restart counts.
Report CPU/memory allocatable vs. summed pod requests per node.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). Baseline: 100% of A+ tools document return types.
Parameter descriptions lack format/constraint details. E.g., 'tail' has no min/max bounds; 'namespace' lacks format guidance. Baseline: descriptions should state range, format, and allowed values.
cloud_cost_summary is explicitly stubbed with placeholder data. Reduces practical utility and signals incomplete implementation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Summarize unhealthy pods (CrashLoopBackOff, high restarts, not-ready).
No error handling guidance visible. Tools lack recovery hints (e.g., 'If pod not found, try list_pods first'). Baseline: error responses must tell LLM what to do next.
Descriptions lack WHEN/WHY context. E.g., 'List pods in a namespace' does not explain when to call this vs pod_health. Baseline: descriptions should state WHAT, WHEN, and prerequisites.