OpenShift/Kubernetes cluster monitoring and management MCP server for AI Code Assistant
9 tools with basic definitions present but significant gaps in schema completeness, parameter documentation, and output specifications. All tools are READ_ONLY and properly use verb_noun naming (check_, get_, detect_, analyze_, monitor_). Descriptions exist but lack LLM-optimization (too detailed or too generic for agent decision-making). Most critical gap: NO tool documents its output schema or return structure, forcing LLMs to guess what fields to expect. Several tools have complex nested parameters (detect_resource_issues.thresholds) that lack proper nesting documentation. Error handling and recovery guidance completely absent across all tools.
Analyze journalctl logs for specific pod-related errors and system issues
Analyze pod disruptions and restart patterns
Check overall OpenShift cluster health and identify stability issues
Check CRI-O container runtime status and recent logs
Check kubelet service status and recent logs for errors
Check node conditions and identify nodes with issues
Detect pods and nodes with resource allocation or utilization issues
NO TOOL DOCUMENTS OUTPUT SCHEMA, All 9 tools lack return type specifications, forcing LLMs to guess what fields and structure they receive. This violates pattern:tool and pattern:response-shaper.
NESTED PARAMETER STRUCTURE UNDOCUMENTED, detect_resource_issues.thresholds is an object with cpu/memory/restarts sub-properties, but the object itself has no description and sub-properties lack inline documentation. LLMs cannot infer how to structure nested objects without explicit field descriptions.
MISSING PAGINATION & RESULT LIMITS, Tools like get_performance_metrics and analyze_journalctl_pod_errors likely return arrays but have no pagination parameters (limit, offset, cursor) or documented max result size. This risks context window exhaustion when applied to large clusters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 23 | - | v1 |
Retrieve current performance metrics for nodes and pods
Monitor deployment status and rollout health
DESCRIPTIONS LACK LLM-OPTIMIZATION, Descriptions are generic and don't explain WHEN to use each tool vs. similar ones. For example, check_cluster_health vs. check_node_conditions vs. check_kubelet_status vs. check_crio_status are all similar but their distinctions are unclear. Descriptions should state 'Use this when you need to check X; use check_node_conditions for Y.'
EMPTY INPUT SCHEMA, check_node_conditions has an empty properties object {}, meaning it accepts no input validation constraints. This is correct if the tool truly needs no parameters, but the schema should still document what it returns and any side effects (READ_ONLY hint would help).
NO ERROR HANDLING OR RECOVERY GUIDANCE, No tool description mentions what to do if a call fails (e.g., 'If cluster is unreachable, check network connectivity or kubeconfig'). Error responses from implementation will likely lack actionable recovery hints, violating pattern:recovery-guide.
PARAMETER RANGES/CONSTRAINTS NOT DOCUMENTED, timeRange (e.g., '1h', '24h'), hours (24 default), hoursBack (24 default) lack documentation of valid formats and ranges. LLMs may pass invalid values like '1x' or negative numbers. Add description: 'Valid formats: 1h, 2h, 24h, 7d. Do not include spaces.'
MISSING TOOL COMPOSITION GUIDANCE, No tool description hints about prerequisite tools or chained usage. For example, if detect_resource_issues identifies a pod, should the agent then call analyze_pod_disruptions? The descriptions should guide multi-step workflows.