Skip to main content
Glama
plunger

plunger

Official

list_variables

Read-only

Lists variables defined in Plunger, showing secret names without values so you can reference them as {{name}} in requests and let Plunger fill them in.

Instructions

List the {{variables}} defined in Plunger. Secret variables are listed by name only (their values are never returned); use them in a request as {{name}} and Plunger fills them in.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_variables"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
built_inYesAlways available: {{$uuid}}, {{$timestamp}}, {{$timestampMs}}, {{$isoTimestamp}}, {{$randomInt}}, {{$randomHex}}, {{$randomString}}, and {{$env:NAME}} (an environment variable, read when the request is sent).
problemsNoProblems reading remembered secrets, if any.
variablesYes
saved_bearer_availableYesTrue when a Bearer token is saved in Plunger (send with use_saved_bearer). Its value is never shown.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.0
    • changedOutput schema / properties / built_in / description
      Previous value: -"Always available: {{$uuid}}, {{$timestamp}}, {{$randomInt}}, and {{$env:NAME}} (an environment variable, read when the request is sent)."New value: +"Always available: {{$uuid}}, {{$timestamp}}, {{$timestampMs}}, {{$isoTimestamp}}, {{$randomInt}}, {{$randomHex}}, {{$randomString}}, and {{$env:NAME}} (an environment variable, read when the request is sent)."
  2. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's value is in the added behavior: secret variables are listed by name only and their values are never returned, plus the templating semantics of {{name}}. That is genuinely useful disclosure an agent would not get from the annotations. It stops short of describing ordering or whether all scopes/workspaces are covered.

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?

One short paragraph, front-loaded with the purpose and followed immediately by the security-relevant caveat about secret values. Nothing is redundant; the parenthetical about values never being returned is the only slightly verbose phrasing.

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

Completeness4/5

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

An output schema exists, so return structure needn't be spelled out, and the description still flags the one field-level gotcha (secret values omitted). For a zero-parameter read tool this is nearly complete; only scoping/ordering behavior is left unstated.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline for a no-parameter tool is 4, and the description correctly introduces no phantom inputs.

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?

States a specific verb ('List') and resource ('{{variables}} defined in Plunger'), which is clearly distinct from sibling list tools such as list_workflows and list_saved_requests. It also summarises what is returned for secret variables. It does not explicitly contrast itself with any sibling, which keeps it below a 5.

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 explains the practical use of the output ('use them in a request as {{name}} and Plunger fills them in'), which implies when this tool is relevant. However, it never states when to call this versus set_variable or delete_variable, and gives no prerequisites or exclusions.

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