Skip to main content
Glama

wait

Pauses execution until selected services reach a specified condition (ready, running, stopped, healthy, or unhealthy), with optional timeout and cancellation.

Instructions

Wait cancellably for ready, running, stopped, healthy, or unhealthy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runtimeNoProject runtime to address, by name or id from runtimes. Omit to use the project this MCP server was started in.
timeoutNoDuration such as 60s.
conditionYes
selectorsYesExact service names or case-insensitive tags.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoTool-specific payload; absent on failure.
errorNoCausal failure, absent on success.
sessionNoThe runtime that served this call; absent for global tools and for failures that resolved no runtime.
generationNoConfiguration generation the answer was read at; absent when no runtime served the call.
schema_versionYesEnvelope contract version.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.17.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Cancellably' is a genuine and useful disclosure (the call can be interrupted), but the description omits what happens on timeout (error vs. return with unmet condition), whether it blocks until a single condition or all selectors, and whether it costs a long-lived connection. For a blocking primitive with zero annotation coverage, these gaps matter.

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?

A single tight sentence with the core action and the condition set front-loaded; nothing is padded. It is efficient, though the extreme terseness leaves the omissions noted elsewhere rather than being wasteful.

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

Completeness3/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-value explanation is not required. However, for a 4-parameter blocking tool with 2 required params and no annotations, the timeout/cancellation semantics and selector matching rules are left unstated, which leaves the agent guessing about edge-case behavior.

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 description coverage is 75% and the only enum already lists the five condition values, so listing them in the description is largely redundant with structured data. The description adds no syntax for 'selectors' (exact names vs. tags) or the 'timeout' duration format beyond what the schema already states. Baseline 3 is appropriate when the schema does the heavy lifting.

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 the verb ('wait') and the exact set of terminal conditions an agent can block on, which is more specific than a bare name. It stops short of naming the resource class (services/containers) explicitly, but the condition vocabulary makes the intent unambiguous. It is reasonably distinguishable from the sibling 'status' (a poll) and 'health'.

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

Usage Guidelines2/5

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

There is no statement of when to prefer this blocking wait over polling with 'status' or 'health', nor any guidance on when it is inappropriate. Nothing tells the agent what happens if the condition never becomes true or how 'timeout' interacts with the wait. The word 'cancellably' hints at interruption but gives no usage rule.

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