Skip to main content

Helm MCP Server

Python 3.12+ MCP License: Apache 2.0 Helm GitHub Discord

An MCP server that gives AI assistants full control over Helm — from chart discovery to production deployments. Any MCP-compatible assistant (Claude, Cline, or your own agent) can search charts, validate values, dry-run before deploying, monitor rollouts, and roll back when things go sideways.


What it does

Discovery & search — Search charts across Bitnami, ArtifactHub, and custom repos. Pull metadata, versions, READMEs, and values schemas through MCP resources.

Installation & lifecycle — Install, upgrade, rollback, and uninstall releases. Dry-run first to see what would change. Use custom values, multiple values files, and extra CLI args.

Validation & safety — Validate values against JSON schemas before deploy. Render and validate manifests ahead of time. Check dependencies and cluster prerequisites. Get installation plans with resource estimates.

Monitoring & status — Watch deployment health after install or upgrade. Get release status and revision history. List releases across namespaces in one call.

Multi-cluster — List and switch Kubernetes contexts from kubeconfig. Use namespaces for isolation.

Built-in guidance — Workflow guides, security checklists, and troubleshooting runbooks ship as MCP prompts. Upgrades, rollbacks, and incident response are covered.


Architecture


Quick start

Prerequisites

RequirementDescription
DockerFor containerized deployment (recommended)
Python 3.12+For local installation
Helm CLIInstallation Guide
kubectlInstallation Guide
Kubernetes AccessValid kubeconfig with cluster access

Docker Quick Start

docker run --rm -it \
-p 8765:8765 \
-v ~/.kube/config:/app/.kube/config:ro \
talkopsai/helm-mcp-server:latest

That's it. The server listens on http://localhost:8765/mcp.

Connect your MCP client

{
"mcpServers": {
"helm-mcp-server": {
"url": "http://localhost:8765/mcp",
"description": "Helm MCP Server for managing Kubernetes workloads via Helm"
}
}
}

Security

Don't hardcode secrets in values files — use Kubernetes Secrets or external secret managers. Use namespaces for isolation.

Set MCP_ALLOW_WRITE=false when you want the assistant to explore, validate, and plan — but not actually change anything in the cluster. Dry-runs are always allowed regardless.


Project structure

helm-mcp-server/
├── helm_mcp_server/ # Main package
│ ├── tools/ # MCP Tools
│ │ ├── discovery/ # Chart search and info
│ │ ├── installation/ # Install, upgrade, rollback, uninstall
│ │ ├── validation/ # Values and manifest validation
│ │ ├── kubernetes/ # Cluster operations
│ │ └── monitoring/ # Deployment monitoring
│ ├── resources/ # MCP Resources
│ ├── prompts/ # MCP Prompts
│ ├── services/ # Business logic
│ ├── server/ # FastMCP server setup
│ ├── static/ # Static documentation
│ └── config.py # Configuration management
├── tests/ # Test suite
└── pyproject.toml # Project configuration

Next steps