Skip to main content
Glama

wait_idle

Waits until the screen stops changing and loading finishes, then returns the updated element list for reliable UI interaction.

Instructions

Wait until the screen stops changing and nothing is loading (use when the element list says loading, e.g. a web page still coming in), then return the element list.

Input Schema

NameRequiredDescriptionDefault
max_wait_msNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden: it discloses that the call blocks until idle and yields an element list, which is genuinely useful. However, it never says what happens on timeout — whether it returns the list anyway, raises, or returns a partial/stale list — which is the single most important behavior for a waiting tool that has a max wait.

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 compact sentence with the condition front-loaded before the parenthetical example and the return value. Efficient, though the nested parenthetical slightly interrupts the core instruction.

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 values need not be spelled out, and the description correctly says it returns the element list. But for a blocking tool with a user-configurable timeout, the absence of any timeout or failure-mode statement leaves a meaningful gap.

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% for the single parameter max_wait_ms, and the description never mentions it at all. The timeout parameter is exactly the semantics that needs explanation (whether exceeding it causes failure or a best-effort return), so the description fails to compensate for the schema gap.

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 specific action (wait) with a precise termination condition (screen stops changing, nothing loading) and what it returns (the element list). The trigger phrase 'when the element list says `loading`' cleanly separates it from immediate-observation siblings like observe or screenshot.

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?

Gives an explicit entry condition tied to observable state ('loading' in the element list, e.g. a page still coming in). It does not name alternatives such as wait_for or explain when to prefer a fixed wait over this idle-based wait, so the exclusion side is left to inference.

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