Kubernetes configuration cannot be inferred
Check the selected kubeconfig and context. Set KUBECONFIG to one valid file and repeat a namespaced list. A selected invalid file stops server startup; the server needs cluster configuration even for local chart tools. Install dry-run also initializes cluster access.
API access fails or returns Forbidden
Check connectivity with kubectl cluster-info, then the exact denied permission with kubectl auth can-i. Release records need ConfigMap access; resource updates need patch permission and namespace creation needs its own permission. Repair the connection or request the intended missing permission through the cluster owner, then inspect partial changes before retrying.
A release is missing or already exists
Check history in the same explicit namespace. --all-namespaces does not broaden list, and a retained uninstalled or pending record still blocks install. Inspect the existing state before choosing an upgrade; the upgrade install option does not create a missing release.
Install creates an unexpected namespace
Check the namespace spelling before installing. A missing namespace is created even when the create-namespace option is false or absent. Correct the intended target and inspect any namespace already created before cleanup; there is no disable-creation option.
Install, upgrade or rollback stays Pending
Check release history and the actual chart resources. A rendering, permission or API failure can leave a pending record and some completed changes. Correct the cause before choosing upgrade, rollback or explicit cleanup. Repeating install fails on the existing record; uninstall can also fail when the stored chart cannot be rendered. A Deployed record does not prove workload readiness.
A timeout leaves the result uncertain
Check the latest revision and affected Kubernetes objects before replaying the operation. MCP calls have a fixed 120-second deadline and may already have written changes; CLI timeout flags do not enforce a deadline. Resolve partial progress first, since replaying an upgrade creates another revision.
A ResourceQuota conflict persists
Check for a competing quota update or admission change. Only the resource-quota object-modified conflict gets bounded retries. Resolve the competing change and inspect the stored revision before another mutation.
Preview succeeds but installation fails
Check for unsupported template expressions or multiple documents in one template. The default renderer substitutes only release name, release namespace, chart name and chart version; values and template functions remain unresolved. Use a compatible chart with one resource document per YAML template. Changing values cannot change a literal chart field.
A chart source or requested version cannot be loaded
Check the path on the server, using an absolute path for MCP calls. Release actions do not resolve repo/chart; pull through helm_chart and install the downloaded archive. A URL ending in .tgz or .tar.gz is treated as a local archive, so download it first. CLI version options do not select the chart version.
Repository search is empty after restart
Check registrations through the same running MCP server. Call repository list, then update, then search; indexes do not persist between processes. Use a named update to expose a download error hidden by update-all, and coordinate changes through one server.
Repository add fails or OCI appears to succeed
Check the saved registration and the requested repository type. HTTP add can save a registration before its index download fails; correct the URL and repeat add in the same server. OCI chart transfers and authenticated downloads are unsupported. Push, registry login/logout and Artifact Hub search are informational placeholders; use an approved tool that supports the required operation.
A downloaded file is not a chart
Check the HTTP response with an approved HTTP client and inspect the local archive with mcp-helm cli chart show all /path/to/chart.tgz. An error page can be saved as an archive. Replace the file from a trusted source; pull does not verify signatures or repository digests, and chart verify checks structure only.
Repository registrations disappear or reset
Check ~/.config/helm/repositories.json (or /tmp/helm-repositories.json without HOME) before adding entries. A malformed or unreadable file can look empty. Stop processes sharing it, preserve the damaged file, restore a known-good copy and restart one server. Do not remove downloaded charts or releases to fix registrations.
Another manager’s resource settings change
Check the affected resource’s desired settings and ownership. An apply can take over fields managed by another client. Agree which tool owns those settings, stop competing changes and serialize release operations before choosing a corrected upgrade.
Rollback or uninstall leaves resources behind
Check earlier chart revisions for objects omitted from the latest chart. Upgrade and rollback do not prune omitted objects; uninstall knows only the latest chart. Restore any required API or permission before retrying cleanup and verify actual absence after finalizers finish. Retained history blocks a new install under the same name.
Stdio JSON-RPC is malformed
Check that the wrapper and logging keep diagnostics off stdout. Leave MAIT_LOG_FORMAT unset and keep stderr separate, for example mcp-helm serve 2>mcp-helm.log. Inspect startup errors before reconnecting.
HTTP binding or command arguments fail
Check the listener address and accepted arguments with mcp-helm help or mcp-helm cli help install. Choose an available loopback port for HTTP. Use KUBECONFIG for the cluster; --help, -h and upstream kubeconfig flags are unavailable.
What you getA verified recovery path for the intended release and namespace.