Skip to main content
Glama

Upgrade Template

upgrade_template
Destructive

Upgrade an installed release to a new version and/or updated values. Identify the release by name only — the template and GVC are immutable and read from the installed release, so you do NOT pass them. Omit version to move to the latest available. values REPLACE the release's current values entirely (no merge) — start from the currently applied values (CLI: cpln helm get values <name> --all), not the template example. Verify with get_installed_template after.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
orgNoOrganization slug.
nameYesRelease name — the unique, immutable identifier for this installed instance within the org.
valuesYesThe complete values.yaml for the release going forward — it REPLACES the currently applied values entirely (there is no reuse-values merge). Preserve the release's CURRENT non-sensitive settings, not the template example, or customized settings fall back to defaults. The user can inspect current values privately in the Console; never fetch or paste credential-bearing values into chat. If current values require literal credentials, upgrade privately in the Console instead.
versionNoTarget version to upgrade to. Omit for the latest available version.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
dataNoThe full result. Read this, not only the summary.
detailsNo
summaryYes
nextStepsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / name / maxLength
      Removed value: -63
    • removedInput schema / properties / name / minLength
      Removed value: -1
    • removedInput schema / properties / name / pattern
      Removed value: -"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$"
    • changedInput schema / properties / org / description
      Previous value: -"Organization slug (lowercase kebab-case). NEVER guess — if the user has not named one, ask. On org-not-found, stop and ask; do not retry variants."New value: +"Organization slug."
    • removedInput schema / properties / org / maxLength
      Removed value: -63
    • removedInput schema / properties / org / minLength
      Removed value: -1
    • removedInput schema / properties / org / pattern
      Removed value: -"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$"
    • changedInput schema / properties / values / description
      Previous value: -"The complete values.yaml for the release going forward — it REPLACES the currently applied values entirely (there is no reuse-values merge). Start from the release's CURRENT values (CLI: `cpln helm get values <RELEASE> --all`; there is no MCP path), not the template example, or previously customized settings silently fall back to defaults."New value: +"The complete values.yaml for the release going forward — it REPLACES the currently applied values entirely (there is no reuse-values merge). Preserve the release's CURRENT non-sensitive settings, not the template example, or customized settings fall back to defaults. The user can inspect current values privately in the Console; never fetch or paste credential-bearing values into chat. If current values require literal credentials, upgrade privately in the Console instead."
    • removedInput schema / properties / values / maxLength
      Removed value: -131072
    • removedInput schema / properties / values / minLength
      Removed value: -1
    • removedInput schema / properties / version / maxLength
      Removed value: -40
    • removedInput schema / properties / version / minLength
      Removed value: -1
    • removedInput schema / properties / version / pattern
      Removed value: -"^[A-Za-z0-9][A-Za-z0-9.+-]*$"
    • changedInput schema / required
      Previous value: -[
      -  "org",
      -  "name",
      -  "values"
      -]New value: +[
      +  "name",
      +  "values"
      +]
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / properties / data / description
      Previous value: -"The full machine-readable result — list rows, the resource object, query results. Read THIS, not just the summary."New value: +"The full result. Read this, not only the summary."
    • addedOutput schema / properties / details
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / nextSteps / description
      Removed value: -"Recommended follow-up actions for this task, in order."
    • removedOutput schema / properties / ok / description
      Removed value: -"Whether the call succeeded."
    • removedOutput schema / properties / summary / description
      Removed value: -"One-line summary of the result."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true / idempotentHint=false, and the description adds the critical behavioral fact beyond them: values REPLACE entirely with no merge, so omitted customizations silently fall back to defaults. It also warns about credential-bearing values and recommends private Console upgrade.

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

Conciseness5/5

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

Dense but every clause carries load-bearing information — identity rules, version default, replace semantics, precondition sourcing, and verification — ordered from action to warning to follow-up.

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?

For a destructive, non-idempotent mutation with an output schema, the description covers identity, defaults, replacement semantics, safety, and verification. Nothing an agent needs to avoid corrupting a release is missing.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics: name is the sole identifier, omitted version means latest, and values carries full-replacement (non-merge) meaning rather than being an ordinary string.

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?

Specific verb (upgrade) plus resource (an installed release) with a clear scope statement: it upgrades version and/or values, not the template or GVC. An agent can distinguish it from install_template and uninstall_template immediately.

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

Usage Guidelines5/5

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

Explicit when-to-pass-what rules: identify by name only, omit version to move to latest, and verify with get_installed_template afterward. It even names the CLI command for sourcing current values, giving a concrete recommended workflow.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.