Skip to main content
Glama

seekrit — secrets for agents

compose_group

Idempotent

Compose a shared group into an application environment, so that environment resolves the group's secrets as well as its own. Safe to repeat — composing an already-composed group just updates its position. Use uncompose_group to undo, and list_env_groups to see the current order. When app access or sync requires new wrapped keys, use the local CLI to compose the group; this remote tool cannot wrap keys. Returns the composed { groupId, slug, name, position }.

Input Schema

NameRequiredDescriptionDefault
appYesApplication slug or id, as returned by list_apps (e.g. "storefront").
envYesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
orgNoOrganization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_orgs.
groupYesShared-group slug or id, as returned by list_groups (e.g. "shared-datastores").
positionNoPrecedence among the environment's composed groups: on a name clash the HIGHER position wins, and the environment's own secrets beat every group. Omit to append at the end. Read the current order from list_env_groups first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / app / description
      Added value: +"Application slug or id, as returned by list_apps (e.g. \"storefront\")."
    • addedInput schema / properties / env / description
      Added value: +"Environment slug or id within that application, as returned by list_envs (e.g. \"production\")."
    • addedInput schema / properties / group / description
      Added value: +"Shared-group slug or id, as returned by list_groups (e.g. \"shared-datastores\")."
    • addedInput schema / properties / org / description
      Added value: +"Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_orgs."
    • addedInput schema / properties / position / description
      Added value: +"Precedence among the environment's composed groups: on a name clash the HIGHER position wins, and the environment's own secrets beat every group. Omit to append at the end. Read the current order from list_env_groups first."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare idempotent/non-destructive/open-world, but the description adds real context beyond them: re-composing is safe and merely updates position, and there is a hard capability limit around key wrapping. It also states the return shape, which matters since no output schema exists.

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?

Four short sentences, front-loaded with the core effect, then idempotency, then alternatives, then the capability caveat and return shape. Nothing is redundant with the schema text.

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 a 3-required-param mutation with no output schema, the description covers effect, idempotency, ordering source, undo path, a genuine limitation requiring the CLI, and the returned fields. An agent can call this correctly without further inference.

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

Parameters3/5

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

Schema coverage is 100%, and the position parameter's precedence rules (higher wins, env's own secrets beat all groups) are already spelled out in the schema. The description only reinforces that re-composing updates position; it adds no format or syntax detail beyond structured fields, so the baseline applies.

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?

States a specific verb+resource (compose a shared group into an application environment) and the resulting effect (the environment resolves the group's secrets as well as its own). It is immediately distinguishable from siblings like uncompose_group and list_env_groups.

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?

Explicitly names the undo path (uncompose_group) and the inspection path (list_env_groups) plus the ordering step to do first. It also states a when-not condition: if new wrapped keys are needed, this remote tool cannot do it and the local CLI must be used.

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