{"id":"lyarwood-kubevirt-mcp-server","name":"kubevirt-mcp-server","homepage":null,"repo_url":"https://github.com/lyarwood/kubevirt-mcp-server","category":"infrastructure","subcategories":[],"tags":["mcp","kubevirt","kubernetes","go","agents","vm-management"],"what_it_does":"Provides a Model Context Protocol (MCP) server that exposes KubeVirt operations (VM lifecycle actions and read-only status/config data) as MCP tools, prompts, and structured resources/URIs. It uses KUBECONFIG to talk to a KubeVirt-enabled Kubernetes cluster.","use_cases":["Let an AI agent manage KubeVirt VMs (start/stop/restart/pause/unpause/create/delete) via MCP","Fetch VM/VMI/DataVolume/instance type/preference information using structured MCP resources","Provide LLM-friendly troubleshooting and health-check prompts for KubeVirt workloads","Integrate KubeVirt management into developer workflows (e.g., Claude CLI MCP integration)"],"not_for":["Production-grade remote multi-tenant deployment without careful security hardening","Use cases requiring an HTTP/REST API or SDKs instead of MCP","Environments without an available KubeVirt cluster and valid kubeconfig credentials"],"best_when":"You want an LLM/agent to perform controlled KubeVirt management and inspection in a Kubernetes environment where you can supply a least-privilege kubeconfig to the MCP server process.","avoid_when":"You need strict auditability, fine-grained per-request authorization, or you cannot provide least-privilege credentials; also avoid when you require explicit, documented rate limiting or idempotency guarantees.","alternatives":["Direct KubeVirt/Kubernetes API or kubectl for scripted automation","Custom MCP server tailored to your exact RBAC policy and tool surface","Using an existing MCP-Kubernetes integration (if available in your ecosystem) rather than KubeVirt-specific tooling"],"af_score":60.2,"security_score":51.0,"reliability_score":25.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T19:45:55.353531+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Kubeconfig-based authentication (KUBECONFIG environment variable)"],"oauth":false,"scopes":false,"notes":"The server relies on Kubernetes RBAC via the kubeconfig supplied to the MCP server process. No additional MCP/API authentication mechanism is described in the provided README."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source tooling (license not specified in provided metadata). Pricing is not applicable from the provided information."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":60.2,"security_score":51.0,"reliability_score":25.0,"mcp_server_quality":78.0,"documentation_accuracy":70.0,"error_message_quality":null,"error_message_notes":"README mentions functional tests for invalid tools/args/URIs and error handling, but does not show representative error payloads or explicit JSON-RPC error codes/messages.","auth_complexity":85.0,"rate_limit_clarity":0.0,"tls_enforcement":35.0,"auth_strength":60.0,"scope_granularity":45.0,"dependency_hygiene":40.0,"secret_handling":70.0,"security_notes":"Strength: uses Kubernetes RBAC via kubeconfig and README recommends least-privilege service account usage. Weaknesses/unknowns: no described MCP transport/authentication beyond kubeconfig; TLS enforcement and any in-process secret logging protections are not stated; dependency vulnerability status is not provided; scope granularity is constrained by Kubernetes RBAC rather than per-tool/per-call authorization.","uptime_documented":0.0,"version_stability":30.0,"breaking_changes_history":20.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":"Some operations (e.g., restart) may not be idempotent; no explicit idempotency semantics or safe-retry behavior is documented.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Actions require appropriate Kubernetes/KubeVirt RBAC; the MCP server will fail if kubeconfig lacks permissions.","Some tools may have side effects and are not guaranteed idempotent (e.g., create/delete/patch/restart).","Correct namespace scoping is essential; resources are namespaced (unless using cluster-wide URIs).","URIs must match the expected kubevirt:// formats; invalid URIs should error."]}}