Helm MCP Server
A comprehensive Model Context Protocol (MCP) server for managing Kubernetes workloads via Helm. Designed for AI assistants to perform secure, production-grade Helm operations with full validation, monitoring, and best practices guidance.
✨ Features
🔍 Discovery & Search
- Search Helm charts across repositories (Bitnami, ArtifactHub, custom repos)
- Get detailed chart metadata, versions, and documentation
- Access chart READMEs and values schemas
🚀 Installation & Lifecycle Management
- Install, upgrade, rollback, and uninstall Helm releases
- Dry-run installations to preview changes before deployment
- Support for custom values, multiple values files, and extra CLI arguments
✅ Validation & Safety
- Validate chart values against JSON schemas
- Render and validate Kubernetes manifests before deployment
- Check chart dependencies and cluster prerequisites
- Generate installation plans with resource estimates
📊 Monitoring & Status
- Monitor deployment health asynchronously
- Get real-time release status and history
- List all releases across namespaces
🔧 Multi-Cluster Support
- List and switch between Kubernetes contexts
- Switch between clusters via kubeconfig context
- Namespace-scoped operations for isolation
📚 Built-in Guidance
- Comprehensive workflow guides and best practices
- Security checklists and troubleshooting guides
- Step-by-step procedures for upgrades and rollbacks
🏗️ 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
# Pull and run with default configuration
docker pull sandeep2014/talkops-mcp:helm-mcp-server-latest
docker run --rm -it \
-p 8765:8765 \
-v ~/.kube/config:/app/.kube/config:ro \
sandeep2014/talkops-mcp:helm-mcp-server-latest
Connect Your MCP Client
{
"mcpServers": {
"helm-mcp-server": {
"transport": "sse",
"url": "http://localhost:8765/sse",
"description": "Helm MCP Server for Kubernetes workloads"
}
}
}
🔒 Security Considerations
| Practice | Description |
|---|---|
| No Hardcoded Secrets | Use Kubernetes Secrets or external secret managers |
| Namespace Isolation | Separate environments with namespaces |
| RBAC Principles | Grant minimum required permissions |
| Pin Chart Versions | Ensure reproducible deployments |
| Review Manifests | Always review rendered manifests before production |
| Write Access Control | Use MCP_ALLOW_WRITE=false for read-only mode |
📁 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
🙏 Acknowledgments
- Model Context Protocol for the MCP specification
- FastMCP for the Python MCP framework
- Helm for Kubernetes package management
Next Steps
- ⚙️ Configuration - Complete setup and environment variables
- 🛠️ Tools - Available MCP tools reference
- 📁 Resources & Prompts - MCP resources and prompts
- 📖 Examples - Usage patterns and workflows