Skip to main content
Glama

Request a secret from the user

request_secret

Collect secret input through an inline prompt, deliver it to command stdin, environment variables, or a .env file without exposing secrets in arguments, and return a request ID and status.

Instructions

Collect secret input. Use {{fieldId}} in execute stdin/env, or map fields to write_env keys. Never put secrets in args. Returns requestId and status.

Input Schema

NameRequiredDescriptionDefault
cwdNo
titleYes
fieldsYes
deliveryYes
descriptionYes
waitSecondsNo
timeoutSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already establish that this is a non-read-only, non-destructive, closed-world operation, and the description adds the important security constraint that secrets must never go in args. "Returns requestId and status" hints at an asynchronous flow, but waitSeconds, timeoutSeconds, and the return mode are never explained, so the agent cannot tell whether the call blocks or must be polled with check_secret_request.

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?

Three short sentences, front-loaded with the core action and followed by the two most important usage rules — no wasted words. The terseness is arguably over-compressed given the schema complexity, but the structure itself is clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a complex nested delivery oneOf with three modes, 7 parameters at 0% schema description coverage, and no output schema. The description covers only two of the three delivery modes (return is missing) and omits the async/timeout semantics, so an agent must reverse-engineer the schema to call it correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden, yet it only alludes to the fields' id values and write_env mapping keys. It says nothing about title, description, cwd, fields (up to 10, with type/label/required/pattern/autocomplete sub-properties), waitSeconds, or timeoutSeconds, leaving most of the 7 parameters undocumented anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Collect secret input" states a specific verb and resource, and the delivery-mode hints ({{fieldId}} in execute stdin/env, write_env keys) make clear this is a request-and-deliver flow rather than an inline submission. It does not name any sibling, so the distinction from submit_inline_secret or check_secret_request is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does give actionable usage for the delivery modes and the "never put secrets in args" rule, which shapes how the agent should call it. But there is no guidance on when to use this tool versus submit_inline_secret, check_secret_request, or cancel_secret_request, and no statement of prerequisites or when a request must be polled.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.