Skip to main content

Helm MCP Server

Python 3.12+ MCP License: Apache 2.0 Helm GitHub Discord

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

  • 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

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

# 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

PracticeDescription
No Hardcoded SecretsUse Kubernetes Secrets or external secret managers
Namespace IsolationSeparate environments with namespaces
RBAC PrinciplesGrant minimum required permissions
Pin Chart VersionsEnsure reproducible deployments
Review ManifestsAlways review rendered manifests before production
Write Access ControlUse 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


Next Steps