Skip to main content
Glama

create_chart_service_profile

Destructive

Make one Helm chart into a stack profile a managed-service package can be published over (the twin of ankra services packages init --addon), and publish the profile's first version. Name the chart, its version and the Helm registry it is registered under in Ankra (the organisation's own registry of that name, or the shared catalogue's); values_yaml is the chart's values. The profile is one stack holding the chart in each service's own namespace. With generated_secret (a Secret name and 1 to 16 keys, each random of 16 to 64 characters with length, default 32, or a fixed value such as a user or database name), the profile also generates that Secret in each service's namespace on its first install and keeps it unchanged across upgrades; Ankra never sees or stores the values. Point the chart at the Secret through its own existing-secret values in values_yaml, then name it as connection.secret_name in the package. Use get_service_profile_pin on the returned profile and version before publish_service_package. A refused request answers with the field that failed. A published profile version cannot change. Requires profiles.write.

Input Schema

NameRequiredDescriptionDefault
nameYesThe profile's name, a Kubernetes name (lowercase letters, digits and hyphens).
chart_nameYesThe Helm chart's name, which is also its release name: lowercase letters, digits and hyphens, at most 53.
descriptionNoOptional description of the profile.
values_yamlNoOptional values for the chart, as YAML, at most 256 KiB.
chart_versionYesThe chart version to pin.
registry_nameYesThe Helm registry the chart comes from, as named in Ankra.
generated_secretNoOptional Secret the profile generates for each service.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations it discloses that a published profile version is immutable, that the request requires `profiles.write`, that a refused request returns the failing field, and that Ankra never sees or stores generated Secret values, which are created once per service namespace and untouched on upgrade. That is exactly the operational context an agent needs for a destructive, non-idempotent mutation.

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?

Purpose is front-loaded in the first clause, and every sentence carries non-redundant information. It is a single dense paragraph with some run-on parentheticals (the CLI twin, the key-length range) that could be split for easier scanning, but no filler.

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?

With 7 parameters, a nested `generated_secret` object, and no output schema, the description still covers creation, publication, immutability, permission requirements, error shape, and the follow-up pin check. Nothing an agent needs to invoke it correctly 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 already 100%, so the baseline would be 3, but the description adds genuine meaning: `registry_name` may be the organisation's own registry or the shared catalogue's, `values_yaml` is the chart's values, and `generated_secret` keys may be random (16-64 chars, default 32) or fixed values such as a user or database name. It also states the cross-field relationship between the generated Secret and the chart's existing-secret values, which the schema cannot express.

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 opens with a specific verb and resource: make one Helm chart into a stack profile that a managed-service package is published over, and publish its first version. The parenthetical twin (`ankra services packages init --addon`) and the later distinction from `publish_service_package` make the scope unambiguous, so an agent can separate it from `create_stack_profile` or `add_manifest_to_stack_profile_draft`.

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 a clear downstream path: call `get_service_profile_pin` on the returned profile and version before `publish_service_package`. It also explains when to supply `generated_secret` and how to wire that Secret into `values_yaml` via `connection.secret_name`. It stops short of naming the sibling profile-creation tools or stating when to prefer this over them, so no exclusion guidance.

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.

Resources