Helm MCP
Server Details
Give your AI assistant access to real Helm chart data. No more hallucinated values.yaml files.
- Status
- Healthy
- Uptime
- 99.9% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- kubedoll-heavy-industries/helm-mcp
- GitHub Stars
- 0
- Server Listing
- mcp-helm
TDQS
Scored across 5 tools
Each tool targets a distinct artifact (dependencies, notes, values, versions, chart search), and descriptions explicitly differentiate them, including guidance like using get_versions to confirm existence before get_values. No functional overlap.
All tools follow a consistent get_*/search_* verb_noun snake_case pattern, predictable and readable throughout.
Five tools is well-scoped for read-only Helm chart inspection, each covering a distinct piece of the inspection workflow with no redundant tools.
Covers chart discovery, version listing, values/schema, dependencies, and notes, providing a complete read-oriented surface. Missing write operations (install, template render, lint) but those may be out of scope for this MCP server.
Available Tools
5 toolsget_dependenciesARead-onlyInspect
Get chart dependencies (sub-charts). Each dependency entry includes the dependency's repository URL — feed that URL back into search_charts, get_versions, or get_values to inspect the dependency. Supports both HTTP/HTTPS repos and OCI registries (oci://).
| Name | Required | Description | Default |
|---|---|---|---|
| chart_name | Yes | Chart name (e.g. postgresql) | |
| chart_version | No | Chart version (defaults to latest) | |
| repository_url | Yes | Helm repository URL (e.g. https://charts.bitnami.com/bitnami) or OCI registry (e.g. oci://ghcr.io/traefik/helm) |
Output Schema
| Name | Required | Description |
|---|---|---|
| version | Yes | Resolved chart version (especially useful when chart_version was omitted and latest was used) |
| dependencies | Yes | Chart dependencies |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral detail beyond the annotations, namely that each dependency entry includes the repository URL, and that OCI registries are supported. This helps an agent understand the output shape and input compatibility. The readOnlyHint and openWorldHint annotations are already present, and the description does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loading the core purpose, then giving actionable insight about dependencies and protocol support. Every sentence earns its place with no filler or redundant restating of the tool name. It is concise without sacrificing relevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has a full input schema, annotations for read-only behavior, and an output schema, the description provides exactly the missing context: dependency semantics and how to use the returned URLs. The workflow is sufficiently complete for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents chart_name, chart_version, and repository_url. The description adds workflow context about feeding returned URLs back into other tools, but it does not add parameter-level semantic meaning beyond what the schema provides. This matches the baseline of 3 for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair, 'Get chart dependencies (sub-charts),' which clearly identifies the tool's function. It also differentiates this tool from sibling tools like get_values or get_versions by focusing on dependencies rather than values or versions. No ambiguity remains about what the tool operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear workflow context by telling the agent to feed the returned repository URLs back into search_charts, get_versions, or get_values. It also notes protocol support for HTTP/HTTPS and OCI, which helps determine valid inputs. It does not explicitly state when not to use this tool or give exclusions relative to siblings, but the implied context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notesARead-onlyInspect
Get chart NOTES.txt (post-install instructions). Supports both HTTP/HTTPS repos and OCI registries (oci://).
| Name | Required | Description | Default |
|---|---|---|---|
| chart_name | Yes | Chart name (e.g. postgresql) | |
| chart_version | No | Chart version (defaults to latest) | |
| repository_url | Yes | Helm repository URL (e.g. https://charts.bitnami.com/bitnami) or OCI registry (e.g. oci://ghcr.io/traefik/helm) |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | Contents of NOTES.txt |
| version | Yes | Resolved chart version (especially useful when chart_version was omitted and latest was used) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as readOnlyHint=true, so the safety profile is covered. The description adds the 'post-install instructions' meaning and protocol support, but does not explain response behavior, error cases, or auth requirements. This is adequate but not especially rich beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the core purpose and adds the relevant protocol detail in the second sentence, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only fetch tool with an output schema, complete schema parameter coverage, and readOnlyHint annotation, the description is fully adequate. Nothing important is missing for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all three parameters. The description's protocol note adds a little extra meaning to repository_url, but it largely repeats schema content. Baseline 3 is appropriate because the description does not materially enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get chart NOTES.txt (post-install instructions)'. It clearly distinguishes this tool from siblings like get_values and get_versions, which have different resources. The parenthetical also clarifies what NOTES.txt contains, leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear functional context: this tool is for retrieving post-install instructions as NOTES.txt, which implies when it should be used. It also states that it supports both HTTP/HTTPS repos and OCI registries, offering useful scope information. It does not explicitly name alternative tools or give when-not-to-use guidance, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_valuesARead-onlyInspect
Get chart values.yaml with optional JSON schema. Uses depth limiting (default 2) to show structure without overwhelming context. Use path to drill into specific sections, depth=0 for full YAML. include_examples surfaces nearby commented YAML examples and requires path to be set. Supports both HTTP/HTTPS repos and OCI registries (oci://).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | YAML path (e.g. .ingress.enabled) | |
| depth | No | Max nesting depth (default 2, 0 for unlimited) | |
| chart_name | Yes | Chart name (e.g. postgresql) | |
| chart_version | No | Chart version (defaults to latest) | |
| example_limit | No | Maximum nearby examples to include (default 1, max 3, 0 falls back to default) | |
| show_comments | No | Preserve YAML comments | |
| show_defaults | No | Include default values | |
| include_schema | No | Include values.schema.json in response | |
| repository_url | Yes | Helm repository URL (e.g. https://charts.bitnami.com/bitnami) or OCI registry (e.g. oci://ghcr.io/traefik/helm) | |
| max_array_items | No | Max array items before truncation (default 3, 0 for unlimited) | |
| include_examples | No | Include nearby commented YAML examples for the selected path (requires path to be set) |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | No | Extracted path, if specified |
| schema | No | JSON Schema for values (if include_schema=true and schema exists) |
| values | Yes | Values content (YAML) |
| version | Yes | Resolved chart version (especially useful when chart_version was omitted and latest was used) |
| examples | No | Nearby commented YAML examples, if include_examples=true and examples are found |
| parse_warning | No | Set when the YAML parser failed on this chart's values.yaml. The 'values' field then contains raw bytes (possibly truncated) and path/depth/include_examples/include_schema were not applied |
| schema_warning | No | Set when include_schema=true but the schema could not be retrieved; absence of this field with empty schema means the chart has no schema |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by disclosing depth limiting defaults, the meaning of depth=0, include_examples behavior, and OCI registry support. No contradiction with readOnlyHint/openWorldHint, and the read-only safety is already surfaced by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise, front-loaded sentences. The core purpose appears first, followed by operational guidance and registry support. No filler, repetition, or vague prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool, the description plus annotations, 100% schema coverage, and output schema make this largely complete. It provides the key behavioral caveats around depth and include_examples; the main gap is not naming sibling alternatives for other chart metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is already strong. The description adds useful context for depth, path, and repository_url including OCI behavior, while leaving other fields to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states an exact resource: chart values.yaml, with optional inclusion of values.schema.json. This is sharply distinct from siblings like get_dependencies, get_notes, get_versions, and search_charts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage guidance: use path for drilling, depth=0 for full YAML, and include_examples requires path. It does not explicitly list sibling alternatives for cases such as fetching versions or dependencies, but the in-tool guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_versionsARead-onlyInspect
Get available versions of a chart (newest first). Supports both HTTP/HTTPS repos and OCI registries (oci://). Use this to confirm a chart exists before calling get_values, or to find a specific version to pin.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 20, max 100) | |
| chart_name | Yes | Chart name (e.g. postgresql) | |
| repository_url | Yes | Helm repository URL (e.g. https://charts.bitnami.com/bitnami) or OCI registry (e.g. oci://ghcr.io/traefik/helm) |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | Total versions available (may exceed returned results if limit applied) |
| versions | Yes | Chart versions (newest first) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavior beyond the annotations by noting that versions are returned 'newest first' and that both HTTP/HTTPS repos and OCI registries are supported. The readOnlyHint annotation already covers safety, and the description complements it without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no filler. It front-loads the core purpose and ordering, then provides practical usage guidance, earning its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complete definition for a list-oriented read tool. The annotations declare read-only behavior, the output schema exists, the schema fully documents parameters, and the description explains ordering, supported repository types, and when to invoke the tool. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters, so the schema already carries the parameter documentation burden. The description adds some useful operational context around repository URL formats and OCI support, but it doesn't fundamentally extend parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Get available versions of a chart.' It adds ordering behavior ('newest first') and protocol scope (HTTP/HTTPS and OCI). This clearly distinguishes it from siblings like get_values and get_dependencies based on the unique output resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use it: 'confirm a chart exists before calling get_values, or to find a specific version to pin.' It provides clear context and a concrete downstream relationship with get_values, though it does not explicitly mention when not to use it or compare to all siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_chartsARead-onlyInspect
List or search charts in a Helm repository. Provide a repository_url, then optionally filter by keyword (e.g. keyword='postgres'). Note: OCI registries (oci://) do not support browsing — for OCI you must already know the chart name, then call get_versions or get_values directly with that name.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 50, max 200) | |
| keyword | No | Filter charts by name (case-insensitive substring match, e.g. 'postgres') | |
| repository_url | Yes | Helm repository URL (e.g. https://charts.bitnami.com/bitnami) or OCI registry (e.g. oci://ghcr.io/traefik/helm) |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | Total matching charts (may exceed returned results if limit applied) |
| charts | Yes | Chart names |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the tool as read-only and open-world, so the safety-profile burden is covered. The description adds a valuable behavioral detail not in the schema: OCI registries do not support this tool's browsing, and the user must know the chart name and call a sibling instead. It does not cover pagination or error handling, but with the output schema present, those are less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences), front-loads the primary purpose, and packs in a usage example plus an exception with alternative routing. Every sentence earns its place; there is no fluff or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool is a simple search/list with a required URL and two optional params, and it has an output schema; the description covers the main purpose, the keyword usage, and the critical OCI exception. The only minor missing piece is clear guidance on what happens when an OCI URL is provided directly to this tool (e.g., error vs. skipped results), but that is not central to correct invocation. Overall, the definition is complete enough for normal use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 3 parameters have descriptions in the schema (100% coverage), so the baseline is 3. The description adds beyond that with a concrete example of the keyword filter ('keyword=postgres'), which illustrates that it's a substring match. It also color how repository_url behaves differently when it's an OCI URL, meaning the rich parameter semantics are more than schema-alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List or search charts in a Helm repository' with a specific verb and resource, and the keyword example makes the search behavior concrete. The OCI note further differentiates it from the get_versions/get_values siblings, so an agent can immediately tell this is a repository-level listing tool rather than a chart-specific retrieval tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when NOT to use the tool (OCI registries do not support this) and provides a direct alternative ('call get_versions or get_values directly'). It also gives the general usage context (provide repository_url, optionally filter by keyword). This is a clear when-to-use and when-not-to-use pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
get_values5 fields changed- added
Input schema / properties / example_limitAdded value: +{ + "description": "Maximum nearby examples to include (default 1, max 3, 0 falls back to default)", + "type": [ + "null", + "integer" + ] +} - added
Input schema / properties / include_examplesAdded value: +{ + "description": "Include nearby commented YAML examples for the selected path (requires path to be set)", + "type": [ + "null", + "boolean" + ] +} - added
Output schema / properties / examplesAdded value: +{ + "description": "Nearby commented YAML examples, if include_examples=true and examples are found", + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Confidence that the commented block is a usable example", + "type": "string" + }, + "source": { + "description": "Where the example was found", + "type": "string" + }, + "yaml": { + "description": "Example YAML", + "type": "string" + } + }, + "required": [ + "yaml", + "source", + "confidence" + ], + "type": "object" + }, + "type": [ + "null", + "array" + ] +} - added
Output schema / properties / parse_warningAdded value: +{ + "description": "Set when the YAML parser failed on this chart's values.yaml. The 'values' field then contains raw bytes (possibly truncated) and path/depth/include_examples/include_schema were not applied", + "type": "string" +} - added
Output schema / properties / schema_warningAdded value: +{ + "description": "Set when include_schema=true but the schema could not be retrieved; absence of this field with empty schema means the chart has no schema", + "type": "string" +}
1 tool update
- Changed
get_values5 fields changed- removed
Input schema / properties / example_limitRemoved value: -{ - "description": "Maximum nearby examples to include (default 1, max 3, 0 falls back to default)", - "type": [ - "null", - "integer" - ] -} - removed
Input schema / properties / include_examplesRemoved value: -{ - "description": "Include nearby commented YAML examples for the selected path (requires path to be set)", - "type": [ - "null", - "boolean" - ] -} - removed
Output schema / properties / examplesRemoved value: -{ - "description": "Nearby commented YAML examples, if include_examples=true and examples are found", - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "Confidence that the commented block is a usable example", - "type": "string" - }, - "source": { - "description": "Where the example was found", - "type": "string" - }, - "yaml": { - "description": "Example YAML", - "type": "string" - } - }, - "required": [ - "yaml", - "source", - "confidence" - ], - "type": "object" - }, - "type": [ - "null", - "array" - ] -} - removed
Output schema / properties / parse_warningRemoved value: -{ - "description": "Set when the YAML parser failed on this chart's values.yaml. The 'values' field then contains raw bytes (possibly truncated) and path/depth/include_examples/include_schema were not applied", - "type": "string" -} - removed
Output schema / properties / schema_warningRemoved value: -{ - "description": "Set when include_schema=true but the schema could not be retrieved; absence of this field with empty schema means the chart has no schema", - "type": "string" -}
1 tool update
- Changed
get_values5 fields changed- added
Input schema / properties / example_limitAdded value: +{ + "description": "Maximum nearby examples to include (default 1, max 3, 0 falls back to default)", + "type": [ + "null", + "integer" + ] +} - added
Input schema / properties / include_examplesAdded value: +{ + "description": "Include nearby commented YAML examples for the selected path (requires path to be set)", + "type": [ + "null", + "boolean" + ] +} - added
Output schema / properties / examplesAdded value: +{ + "description": "Nearby commented YAML examples, if include_examples=true and examples are found", + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "description": "Confidence that the commented block is a usable example", + "type": "string" + }, + "source": { + "description": "Where the example was found", + "type": "string" + }, + "yaml": { + "description": "Example YAML", + "type": "string" + } + }, + "required": [ + "yaml", + "source", + "confidence" + ], + "type": "object" + }, + "type": [ + "null", + "array" + ] +} - added
Output schema / properties / parse_warningAdded value: +{ + "description": "Set when the YAML parser failed on this chart's values.yaml. The 'values' field then contains raw bytes (possibly truncated) and path/depth/include_examples/include_schema were not applied", + "type": "string" +} - added
Output schema / properties / schema_warningAdded value: +{ + "description": "Set when include_schema=true but the schema could not be retrieved; absence of this field with empty schema means the chart has no schema", + "type": "string" +}
1 tool update
- Changed
search_charts2 fields changed- added
Input schema / properties / keywordAdded value: +{ + "description": "Filter charts by name (case-insensitive substring match, e.g. 'postgres')", + "type": "string" +} - removed
Input schema / properties / searchRemoved value: -{ - "description": "Filter by name (case-insensitive substring)", - "type": "string" -}
5 tool updates
- First observed
get_dependencies - First observed
get_notes - First observed
get_values - First observed
get_versions - First observed
search_charts
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Versioned documentation registry and semantic search for AI tools and coding assistants.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with Helm charts on ArtifactHub by providing tools to retrieve chart metadata, default values, and templates. It supports fuzzy searching within values and templates to simplify the discovery and analysis of Kubernetes packages.5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding tools to query your live codebase for routes, import graph, domain context, and blast radius, eliminating hallucinations about project structure.87 npm78MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to query, validate, and create vCluster YAML configurations directly from GitHub, supporting version-specific queries and automatic validation.8 npm-
- AlicenseNot gradedqualityCmaintenanceConnect engineering metrics, DORA performance, deploy risk scoring, and PR health to any AI assistant. Score PRs for deployment risk using a 36-signal model, query team health, incidents, coverage, and more.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.