Skip to main content
Glama

Store a secret for an app

dropyour_secret_set
DestructiveIdempotent

Store a SECRET for a graduated app (tier 4), bound to a host pattern. The value is encrypted at rest and NEVER readable back — by anyone, ever. The platform's egress membrane attaches it on outbound requests to the declared host, so your server code calls the API WITH NO KEY and never sees it. The membrane sits ABOVE the socket: it does not terminate your TLS and injects no certificate authority into your sandbox — we attach a header, we never open your connection. form says HOW it is attached: bearer (default, Authorization: Bearer), header (X-Api-Key and friends), basic (key as username), or query (?api_key=). The form belongs to the secret, not to your code — changing how an API authenticates never means editing your app. Writing an existing name rotates it. Name: UPPERCASE_WITH_DIGITS (≤32). Host: lowercase domain, leading *. wildcard allowed. Value ≤ 4096 bytes, 16 secrets per app. Requires ownership (account token or managementToken).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formNoHow the key is attached at the network boundary. Default: bearer (Authorization: Bearer). Use header for X-Api-Key style APIs, basic for key-as-username, query for ?api_key=. Your code never sends the key in ANY of these forms.
hostYesHost pattern the secret is bound to, e.g. api.stripe.com or *.example.com
nameYes
valueYes
dropIdYes
managementTokenNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the idempotent and destructive hints, the description discloses critical behavior: encrypted at rest, never readable back by anyone, the egress membrane attaching it to outbound requests, no TLS termination, no injected certificate authority, rotation on existing names, and write-only semantics. This is exactly the kind of context an agent needs. No contradiction with annotations.

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 long but every sentence carries necessary operational detail: security model, attachment mechanics, form semantics, rotation, constraints, and permissions. The most important fact—'NEVER readable back'—is front-loaded, and nothing reads as 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?

The description is complete enough for correct invocation: it covers when to use it, what happens at runtime, how the form parameter behaves, all relevant constraints, auth requirements, and destructive rotation behavior. No output schema exists, but for a secret setter the return value is not necessary for correct use.

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?

With only 33% schema coverage, the description compensates strongly: it explains the form variants (bearer, header, basic, query), name format, host wildcard rule, value size limit, and managementToken ownership. The only notable gap is that dropId is never explicitly described; its meaning must be inferred from the sibling naming convention and the phrase 'for an app.'

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 uses a specific verb and resource: 'Store a SECRET for a graduated app (tier 4), bound to a host pattern.' It leaves no doubt about what the tool does and is clearly differentiated from the sibling secret_delete and secrets_list tools by describing the write-once, egress-bound behavior.

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?

The description clearly identifies the intended context: graduated/tier-4 apps, secrets bound to a host pattern, and ownership requirements via account token or managementToken. It does not explicitly enumerate when not to use it or compare against alternatives, but there is no competing setter among the siblings, so the usage context is sufficiently clear.

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/5.0
Disambiguation4/5

Most tools target clearly distinct resources and actions, and descriptions do a good job separating overlapping areas like call/release/status or read_content/read_app_files. The main risk is momentary confusion between publish/replace/release and the two read-content tools, but careful reading resolves it.

Naming Consistency3/5

All names share the dropyour_ prefix and use snake_case, but the overall pattern is mixed: read_* and list_versions use verb-first naming, while records_list, secret_set, secret_delete, and secrets_list use noun-first naming, and logs/status/whoami are bare nouns. Still readable, but not a consistent verb_noun convention.

Tool Count3/5

23 tools is on the heavy side for a single server and spans several distinct subdomains: drop lifecycle, graduated apps, data, records, secrets, scheduling, and auth. Each tool appears purposeful, but the surface could reasonably be split into focused servers.

Completeness5/5

The set covers the full drop lifecycle — publish, replace, release, rollback, delete, status, settings — plus graduated app concerns like files, logs, versions, store records, app data, secrets, and scheduling. There are no obvious dead ends for the stated domain.