Labsco
zekker6 logo

Helm MCP

โ˜… 26

from zekker6

MCP server to work with Helm charts

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

MCP Helm Server

An MCP (Model Context Protocol) server that provides tools for interacting with Helm repositories and charts. This server enables AI assistants to query Helm repositories, retrieve chart information, and access chart values without requiring local Helm installation.

The purpose of using MCP for Helm is to avoid making up format of values.yaml and contents of the charts when working with LLMs. Instead, the server provides a standardized way to access this information, making it easier for AI assistants to interact with Helm charts and repositories.

This MCP server is and will be providing tools for working with Helm repositories only. If you need to work with other Kubernetes resources, consider using a separate MCP server that provides tools for Kubernetes resources.

Features

The MCP Helm server provides the following tools:

  • list_repository_charts - Lists all charts available in a Helm repository (or chart name for OCI registries)
  • list_chart_versions - Lists all available versions/tags for a chart
  • get_latest_version_of_chart - Retrieves the latest version of a specific chart
  • get_chart_values - Retrieves the values file for a chart (latest version or specific version)
  • get_chart_contents - Retrieves the contents of a chart (including templates, values, and metadata)
  • get_chart_dependencies - Retrieves the dependencies of a chart as defined in its Chart.yaml file
  • get_chart_images - Extracts container images used in a Helm chart by rendering templates and parsing Kubernetes manifests

Repository Types

All tools support both traditional HTTP Helm repositories and OCI registries:

Repository TypeExample URL
HTTP Repositoryhttps://charts.example.com
OCI Registryoci://ghcr.io/org/charts/mychart
OCI (Docker Hub)oci://docker.io/library/mysql

OCI Registry Support

OCI (Open Container Initiative) registries store Helm charts as OCI artifacts. Unlike HTTP repositories where multiple charts share an index, OCI registries typically contain one chart per repository with multiple version tags.

Example usage with OCI:

repository_url: oci://ghcr.io/nginxinc/charts/nginx-ingress
chart_name: (empty - chart name is in the URL)

Roadmap

  • Add more tools
    • List all charts in a repository
    • List all versions of a chart
    • Get latest version of the chart
    • Get values for chart
    • Get values for the latest version of the chart
    • Extract full chart content
    • Extract dependant charts from Charts.yaml
    • Extract images used in chart
  • Support OCI registries
    • Pull charts from OCI registries
    • List tags/versions from OCI registries
    • Support authentication via Docker credentials
  • Support using private HTTP repositories
    • Add a way to provide credentials for HTTP basic auth