Helm MCP Server
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
| Requirement | Description |
|---|---|
| Docker | For containerized deployment (recommended) |
| Python 3.12+ | For local installation |
| Helm CLI | Installation Guide |
| kubectl | Installation Guide |
| Kubernetes Access | Valid 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
- Configuration — Environment variables and setup
- Tools — MCP tools reference
- Resources & Prompts — MCP resources and prompts
- Examples — Usage patterns and workflows