MCP server for Harvester HCI that allows AI assistants to interact with Harvester clusters through the MCP protocol
The server provides 21 tools with consistent naming (verb_noun pattern), clear descriptions, and structured parameter schemas. However, several quality gaps prevent a higher score: (1) No output schemas are documented for any tool, LLMs cannot plan downstream operations or extract chaining IDs; (2) Input schemas lack constraint metadata (enums, ranges, formats), parameters are bare strings with no validation hints; (3) Descriptions are functional but generic (avg ~60 chars), they lack context about WHEN to use each tool vs similar alternatives; (4) Critical operations (delete_pod) lack confirmation/dry-run guidance; (5) Error handling is minimal, no recovery hints or actionable error messages; (6) No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite having both read-only and destructive operations.
Delete a pod from the Harvester cluster
Get Custom Resource Definition details from the Harvester cluster
Get deployment details from the Harvester cluster
Get image details from the Harvester cluster
Get namespace details from the Harvester cluster
Get network details from the Harvester cluster
Get node details from the Harvester cluster
Get pod details from the Harvester cluster
No output schemas documented for any tool. LLMs cannot infer what fields are returned, which breaks composition (chaining tools) and forces agents to make unsafe assumptions about response structure.
Input schemas lack constraint metadata (enums, ranges, patterns, minimum/maximum). Parameters are bare strings with descriptions but no machine-readable validation. LLMs cannot discover valid values without parsing descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get service details from the Harvester cluster
Get virtual machine details from the Harvester cluster
Get volume details from the Harvester cluster
List Custom Resource Definitions in the Harvester cluster
List deployments in the Harvester cluster
List images in the Harvester cluster
List namespaces in the Harvester cluster
List networks in the Harvester cluster
List nodes in the Harvester cluster
List pods in the Harvester cluster
List services in the Harvester cluster
List virtual machines in the Harvester cluster
List volumes in the Harvester cluster
Destructive tool (delete_pod) lacks confirmation or dry-run capability. Agents can irreversibly delete pods without a safety gate. No guidance on recovery if deletion succeeds unexpectedly.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present despite clear semantic differences. List/get tools are read-only; delete_pod is destructive. Annotations would enable safer agent planning.
List tools lack pagination parameters (limit, offset, page_size) and do not document maximum result count. Returning all pods/deployments/etc. in a namespace can blow the context window.
Error handling is minimal. Tool handlers return generic error messages with no recovery guidance (e.g., 'Failed to list pods: %v'). LLMs cannot determine if the error is retryable, user-fixable, or fatal.
Tool descriptions are functional but generic (avg ~50-70 chars). They lack context on WHEN to use each tool (e.g., when to call list_pods vs get_pod), dependencies, or prerequisites. Descriptions should be 50-200 chars and explain selection criteria.