A Model Context Protocol (MCP) server built for platform engineering workflows. Implements the MCP specification over stdio using JSON-RPC 2.0. Provides tools for Kubernetes cluster health assessment, infrastructure policy validation, Terraform module analysis, incident investigation, and infrastructure inventory queries.
Platform Engineering MCP presents a domain-appropriate toolkit for infrastructure management with READ_ONLY operations only. Tool definitions are visible and properly registered with schemas. However, there are consistent gaps in parameter descriptions, missing output schema documentation, and insufficient error handling guidance. Descriptions are adequate but generic in places. This server lands in the 'Fair to Poor' range, functional for an internal platform tool, but lacking production-grade polish. Average tool score is 58/100.
Analyze a Terraform module against platform engineering standards. Checks naming conventions, required tags, backend configuration, provider constraints, and module structure. Returns quality score with specific improvement recommendations.
Assess Kubernetes cluster health including node status, pod health, resource utilisation, and recent events. Returns a structured health report with severity ratings. Use this before making infrastructure changes or during incident investigation.
Assist with incident investigation by correlating infrastructure signals. Pulls recent changes, alert history, deployment events, and resource health to build an incident timeline. Use during P1/P2 incidents to accelerate root cause analysis.
Query the infrastructure inventory for resource information. Returns details about clusters, namespaces, services, and their current state. Useful for understanding the platform landscape before making changes.
Validate infrastructure resources against platform policies. Checks Kyverno-style policies including resource limits, label requirements, network policies, and security constraints. Returns pass/fail with remediation guidance.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract data without knowing returned fields, types, and structure.
analyze_terraform_module has empty 'required' array (required: []), leaving both module_path and module_content optional. Ambiguity forces LLM to guess which parameter to use, risking tool failures.
query_infrastructure filter parameter is free-text with no syntax specification. LLM will guess at filter language (SQL, key=value, etc.), causing silent mismatches or errors.
No error handling guidance. Tools lack recovery instructions (retry-safe? user-fixable? fatal?). LLM receives raw errors with no actionable next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 54 | 2024-11-05+ | v1 |
No pagination guidance for tools that return lists (query_infrastructure, check_cluster_health events). Unbounded results risk context window exhaustion.
Parameter descriptions lack format constraints. E.g., cluster_name (accepts any string?), incident_id (format?), filter syntax (undocumented). Rubric: 'When a parameter has length limits, patterns, or character restrictions, state it in description.'
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). While all tools are READ_ONLY, annotations improve LLM reasoning and safety.