Skip to main content
Glama
perfectra1n

kubesearch-mcp

by perfectra1n

Get HelmRelease details

kubesearch_get_release
Read-onlyIdempotent

Fetch chart configuration details for a release ID from kubesearch.dev, using views for community config digests, deployment lists, and specific value paths.

Instructions

Get details for one chart by its kubesearch.dev release id (the id from kubesearch_search_releases, e.g. 'ghcr.io-home-operations-charts-mirror-cert-manager'). Three views, controlled by view:

  • summary (default): a compact digest of how the community configures the chart — the most commonly-set spec.values paths with their typical values, plus a couple of full example configs. Start here.

  • deployments: the paginated list of every repo deploying the chart (no values) — use it to find a repo to drill into.

  • values: the full parsed spec.values for selected deployments — narrow with repo and/or value_paths to fetch just the config (or subtree) you care about. This is the drill-down; prefer summary first. Note: chart_source_url is the normalized kubesearch.dev grouping key, not necessarily the pullable chart. For chartRef/OCIRepository releases the real chart is in source_urls (group) and each deployment's source_url + source_tag; resolved_chart surfaces the true chart name when it differs from chart. Confirm by cloning the deployment's repo (repo_clone) and reading its OCIRepository source.yaml.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe release id / slug, e.g. 'ghcr.io-home-operations-charts-mirror-cert-manager'.
topNo`summary` view: number of common value paths to return.
repoNo`values` view: restrict to one repo (e.g. 'onedr0p/home-ops').
viewNosummary = community config digest (default); deployments = paginated repo list; values = full config drill-down.summary
limitNoPage size for `deployments`/`values` views.
offsetNoPagination offset for `deployments`/`values` views.
examplesNo`summary` view: number of full example configs to include.
value_pathsNo`values` view: only return these value-path subtrees, e.g. ['server.persistentVolume','server.retentionPeriod']. Paths from the summary view's common_settings work as-is, including array forms like 'route.hostnames[]'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
viewYes
chartYes
shownNo
offsetNo
has_moreNo
next_stepNo
top_reposNo
deploymentsNo
source_urlsYes
matched_reposNo
omitted_countNo
kubesearch_urlYes
resolved_chartYes
values_summaryNo
chart_source_urlYes
deployment_countYes
chart_source_ambiguousYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed28 schema fields changedv1.2.0
    • removedOutput schema / properties / deployments / items / properties / chart_version / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / deployments / items / properties / chart_version / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / deployments / items / properties / namespace / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / deployments / items / properties / namespace / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / deployments / items / properties / repo_url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / deployments / items / properties / repo_url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / deployments / items / properties / resolved_chart / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / deployments / items / properties / resolved_chart / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / deployments / items / properties / source_kind / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / deployments / items / properties / source_kind / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / deployments / items / properties / source_tag / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / deployments / items / properties / source_tag / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / resolved_chart / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / resolved_chart / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / top_repos / items / properties / chart_version / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / top_repos / items / properties / chart_version / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / top_repos / items / properties / namespace / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / top_repos / items / properties / namespace / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / top_repos / items / properties / repo_url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / top_repos / items / properties / repo_url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / top_repos / items / properties / resolved_chart / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / top_repos / items / properties / resolved_chart / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / top_repos / items / properties / source_kind / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / top_repos / items / properties / source_kind / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / top_repos / items / properties / source_tag / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / top_repos / items / properties / source_tag / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / values_summary / properties / examples / items / properties / chart_version / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / values_summary / properties / examples / items / properties / chart_version / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds behavioral nuance: the three-view behavior, pagination handling, and the note about `chart_source_url` being a normalized grouping key rather than a pullable chart, plus the `resolved_chart` clarification and the advice to confirm via repo cloning. It does not contradict annotations and enriches the agent's understanding of edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average (~180 words) but well-structured with a lead sentence, a three-bullet section, and a note. Every sentence adds functional information; there is no filler. It is front-loaded with the main purpose and then details, which lets the agent quickly grasp the tool's core. It could be slightly tightened but remains efficient for the complexity involved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, 3 views, and pagination, the description covers all usage aspects: parameter-to-view mapping, defaults, pagination, and the subtlety of `chart_source_url` vs `source_url`s. It even provides a verification step via `repo_clone`. With an output schema present (though not shown here), the return value details are not required, and the description fills all necessary gaps for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds extra meaning for parameters: it clarifies that `top` and `examples` apply only to `summary`, `repo` and `value_paths` to `values`, and `limit`/`offset` to `deployments`/`values`. It also explains that `value_paths` paths from `summary` work as-is, including array forms like 'route.hostnames[]'. This goes beyond the schema's terse descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get details for one chart') and the resource (by release id), and explains three distinct views (summary, deployments, values) that give it a precise scope. It references the sibling tool `kubesearch_search_releases` as the source of the id, which differentiates it from search. No ambiguity in what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit guidance on when to use each view: 'Start here' for summary, 'use it to find a repo to drill into' for deployments, and 'prefer summary first' for values. It also tells the user to confirm via `repo_clone` when needed. However, it does not explicitly say when to avoid this tool in favor of others (e.g., when to use `kubesearch_grep_values` instead), so it misses a direct exclusion but still offers clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.