Skip to main content
Glama

seekrit — secrets for agents

list_branches

Read-onlyIdempotent

List ephemeral branch configs (per-PR / preview environments) across an application, or just those forked from one environment. Names, parents, and expiry only — never values. Use it before delete_branch to find a branch slug, or to spot branches that have already expired. Returns Environment rows with parentEnvironmentId set: [{ id, name, slug, parentEnvironmentId, expiresAt, createdAt }] — expiresAt is null for a branch with no TTL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesApplication slug or id, as returned by list_apps (e.g. "storefront").
envNoOptional environment slug or id to narrow to branches forked from that one environment. Omit to list every branch in the application.
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.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the read-only safety profile is covered. The description adds useful behavioral constraints beyond annotations: it never returns values, only metadata, and it specifies that `expiresAt` is null for branches without a TTL. This gives an agent confidence about exactly what to expect.

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 tight and every sentence earns its place: purpose, scope, data boundary, use cases, and return shape all appear without padding. The key qualification ('never values') is front-loaded, and the inline JSON example communicates the return structure compactly.

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?

There is no output schema, so the description carries the burden of explaining the return contract; it does so with an explicit row shape and the null-TTL rule. It also explains why an agent would call it (before delete_branch, spotting expired branches) and how to narrow scope, making it complete for a read-only list tool.

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%, so all three parameters (app, env, org) already have descriptive schema text. The description reinforces the `env` narrowing behavior and ties the returned slug to delete_branch, but it does not add substantial new parameter-level meaning beyond what the schema already provides.

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: 'List ephemeral branch configs (per-PR / preview environments)', and scopes it to an application or branches forked from one environment. It also states the data boundary ('Names, parents, and expiry only — never values'), which makes it clear this is not a generic environment or secret listing tool.

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?

The description gives explicit usage instructions: 'Use it before delete_branch to find a branch slug, or to spot branches that have already expired.' It also explains the narrowing behavior of the optional `env` parameter versus omitting it, providing enough context for an agent to decide when to call this tool.

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