Skip to main content
Glama

exec_with_secrets

Run shell commands with named vault secrets injected as environment variables, requiring user approval and returning output with secret values redacted.

Instructions

Run a shell command with the named secrets injected as environment variables (reference them as %NAME% / $env:NAME / $NAME inside the command). The user must approve access via a native dialog that shows the full command; approval covers that exact command string for 15 minutes, so reuse the identical command for retries (the user may instead allow any command for 30 minutes). Commands over 2000 characters are refused: put long logic in a script. A denial is final — never retry it. Output is returned with any plaintext secret values redacted. This is the ONLY way to use a secret; values never appear in conversation context.

Input Schema

NameRequiredDescriptionDefault
cwdNoOptional working directory.
commandYesShell command to run (executed via cmd /c on Windows).
secretsYesNames of vault secrets to inject as env vars.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the native approval dialog, the 15-minute string-scoped approval window versus a 30-minute blanket allowance, the 2000-character refusal threshold, output redaction, and that denials are final. These are non-obvious operational constraints that materially change how the tool gets called.

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?

Purpose is front-loaded in the first clause, followed by approval semantics, constraints, and the redaction note in descending order of importance. Every sentence contains a distinct operational fact — there is no 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?

No output schema exists, and the description compensates by stating that output is redacted; no annotations exist, and the description compensates by covering approval, timing, limits, and failure handling. For a three-parameter execution tool, nothing an agent needs before calling it is missing.

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?

Schema coverage is 100%, so the baseline is 3; the description adds real value beyond it by explaining how secret names are referenced inside the command (%NAME% / $env:NAME / $NAME) and the length cap on the command string. It does not mention cwd, the one optional parameter, leaving that to the schema.

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 precise verb and resource — run a shell command with named vault secrets injected as environment variables — plus the exact interpolation syntax. The line 'This is the ONLY way to use a secret' implicitly separates it from the list_secrets sibling, which by contrast only enumerates names.

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?

Gives concrete when-to and when-not-to rules: reuse the identical command string for retries because approval is bound to that string, move long logic into a script past 2000 characters, and never retry after a denial. These are actionable exclusions an agent could otherwise get wrong.

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

Deploy Server

Other Tools