Skip to main content
Glama
Firefox Bridge

Firefox Bridge

by matrodrigs

firefox_wait

Read-onlyIdempotent

Waits up to 10 seconds for visible text or a semantic role to appear or disappear in a tab, returning a fresh snapshot.

Instructions

Wait up to 10 seconds for visible text or a semantic role to appear or disappear, returning a fresh snapshot. Requires read access and never repeats clicks. Navigation cancels the wait.

Input Schema

NameRequiredDescriptionDefault
roleNoSemantic role, for example button.
textNoVisible text or label to wait for.
stateNo
tabIdYes
frameIdNo
timeoutMsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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 cover readOnly/idempotent/no-destruct, so the description earns credit for the extra context it does supply: the hard wait ceiling, that a fresh snapshot is returned, that it requires read access, that it never re-fires clicks, and that navigation aborts the wait. It stops short of saying what happens on timeout (error vs. empty snapshot), which is the one behavior an agent most needs to handle.

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?

Three short sentences, front-loaded with the action and its scope, then constraints. No filler and nothing repeated from the annotations or schema.

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?

For a six-parameter, no-output-schema tool the description is close to sufficient: it covers the wait target, the ceiling, the cancellation condition, and the fact that a snapshot comes back. The remaining gaps (tabId/frameId meaning, timeout-result behavior) are minor and partly handled by the schema.

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 coverage is low at 33%, so the description must compensate, and it partly does: 'visible text or a semantic role' clarifies the text and role fields, 'appear or disappear' explains the state enum, and 'up to 10 seconds' explains timeoutMs's maximum. tabId and frameId are left entirely to the schema, so the compensation is incomplete rather than absent.

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?

The description names a specific verb (wait), the two target conditions (visible text or semantic role), both directions (appear or disappear), and the return value (a fresh snapshot). That is concrete enough to act on, but it never names or contrasts the nearest sibling, firefox_find, which an agent could easily mistake for this tool.

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 cap ('up to 10 seconds') and the access requirement imply the intended use case of waiting for dynamic content, and 'navigation cancels the wait' hints at a failure condition. There is still no explicit statement of when to choose this over firefox_find or firefox_read_page, and no when-not guidance.

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