Sign inSign up

talkopsai/helm-mcp-server

By talkopsai

•Updated 4 months ago

An MCP server that gives AI assistants full control over Helm - from chart discovery to deployments.

Image
Machine learning & AI
Developer tools
0

523

talkopsai/helm-mcp-server repository overview

⁠Helm MCP Server

A comprehensive Model Context Protocol (MCP) server for managing Kubernetes workloads via Helm. This image allows AI assistants (like Claude) to perform secure, production-grade Helm operations with full validation, monitoring, and best practices guidance.

⁠✨ Features

  • Discovery & Search: Search ArtifactHub/Bitnami and fetch chart metadata.
  • Installation Lifecycle: Install, upgrade, rollback, uninstall, and dry-run Helm releases.
  • Validation: Validate values schemas, render manifests, and check prerequisites.
  • Monitoring: Check deployment health and real-time release status.
  • Multi-Cluster Support: Full support for multiple contexts and namespaces.
  • Built-in Guidance: Includes built-in workflow guides, security checklists, and best practices.

⁠🚀 How to use this image

This Docker image is designed to be used as an MCP server. It requires access to your Kubernetes cluster via a mounted kubeconfig file.

⁠Running Standalone (HTTP Transport)

Run the container mapping port 8765 so clients can connect locally:

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

Then configure your MCP client to connect over HTTP/SSE:

{
  "mcpServers": {
    "helm-mcp-server": {
      "serverUrl": "http://localhost:8765/mcp",
      "disabled": false,
      "disabledTools": []
}
  }
}
⁠Important: Volume Mounts

The server needs access to your Kubernetes credentials. Mount your local .kube/config to the container's expected path:

  • -v ~/.kube/config:/app/.kube/config:ro (Mounts config as read-only)

If you are using Minikube or Docker Desktop Kubernetes, ensure the host paths and API endpoints in your kubeconfig are accessible from within the Docker container.


⁠🛠️ Configuration (Claude Desktop - Stdio)

To use this image securely over stdio transport directly inside Claude Desktop, format the invocation like this:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "helm-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/Users/YOUR_USERNAME/.kube/config:/app/.kube/config:ro",
        "-e",
        "MCP_LOG_LEVEL=INFO",
        "-e",
        "MCP_TRANSPORT=stdio",
        "talkopsai/helm-mcp-server:latest"
      ]
    }
  }
}

(Note: Replace /Users/YOUR_USERNAME/ with the actual path to your home directory.)


⁠⚙️ Environment Variables

The image supports several environment variables for advanced configuration:

VariableDefaultDescription
KUBECONFIG/app/.kube/configPath to the Kubernetes config file
MCP_TRANSPORThttpTransport protocol (stdio or http/sse)
MCP_HOST0.0.0.0Host interface to bind to (if HTTP transport)
MCP_PORT8765Port to bind to (if HTTP transport)
MCP_LOG_LEVELINFOLogging level (DEBUG, INFO, WARNING, ERROR)
HELM_TIMEOUT300Default timeout for Helm operations (seconds)

⁠🔐 Security Best Practices

  1. Read-Only Config: Always mount your kubeconfig as read-only (:ro) unless you have a specific need otherwise.
  2. Contexts: Ensure your kubeconfig explicitly specifies the correct context to avoid unintended modifications to production clusters.
  3. RBAC: Use a kubeconfig with restricted RBAC permissions (Principle of Least Privilege) suited to your required Helm operations.

If you find this MCP server useful, consider leaving a ⭐ on the GitHub repository⁠!

Tag summary

Content type

Image

Digest

sha256:eac5340be…

Size

106.9 MB

Last updated

4 months ago

docker pull talkopsai/helm-mcp-server