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. No key material involved, so it runs here. Returns the composed { groupId, slug, name, position }.

Input Schema

TableJSON 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.

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already mark idempotentHint=true, and the description adds meaning by explaining what idempotence means here ('composing an already-composed group just updates its position'). It also discloses 'No key material involved, so it runs here' and states the exact return shape. No contradiction with annotations 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?

The description is compact and front-loaded: the core action appears first, then safety, alternatives, and return value. Every sentence adds distinct value with no redundancy or fluff.

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 tool with three required parameters, rich schema descriptions, and relevant annotations, this description covers everything an agent needs: the operation's effect, idempotence semantics, how to undo, how to inspect ordering, why it can run locally, and the return value. Nothing essential is missing.

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?

The input schema describes all five parameters with 100% coverage, including detailed semantics for position and org. The description does not add additional parameter-level meaning beyond the schema, so the baseline of 3 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 and resource: 'Compose a shared group into an application environment' and explains the effect ('environment resolves the group's secrets as well as its own'). It is clearly distinguished from sibling tools by naming uncompose_group and list_env_groups and their different purposes.

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 routes to alternatives: 'Use uncompose_group to undo, and list_env_groups to see the current order.' It also notes that composing is safe to repeat, which directly guides when repeated calls are acceptable. This gives an agent clear decision context beyond just the action itself.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools target a distinct resource and action, and many descriptions explicitly call out their near neighbors (list_envs vs list_env_groups vs list_group_envs). The main ambiguity is the three-way env/group listing cluster and the partial overlap between list_orgs and whoami, but the descriptions largely mitigate misselection.

Naming Consistency4/5

Snake_case verb_noun naming dominates (list_*, create_*, delete_*, revoke_*, rename_*), and the kms_ prefix is used consistently. A few outliers like audit, billing, whoami, signup, get_started, local_tool_for, and setup_local_crypto break the strict pattern, but they are still readable and no camelCase or chaotic mixing is present.

Tool Count2/5

40 tools is far above the 25-tool threshold and creates a heavy surface for an agent to navigate. The broad domain of apps, groups, envs, secrets, members, tokens, KMS, and leases partially justifies the size, but several list/delete/revoke families could be consolidated.

Completeness3/5

The set covers control-plane lifecycle well for apps, groups, and invitations, and provides solid list/delete/revoke coverage for envs, branches, tokens, leases, and KMS. However, create operations for envs, branches, tokens, and leases, plus all secret value reads/writes, are deliberately delegated to the local crypto plane; local_tool_for and setup_local_crypto help bridge the gap, but the server is not standalone-complete.

Resources