Skip to main content
Glama

browser_run

Executes multiple browser steps in order within one call, stopping at the first error and returning results gathered so far.

Instructions

Several steps in ONE call (one round trip instead of many; use it whenever you already know the next steps). Runs in order in the tab, stops at the first error and returns what it got so far. Every step is recorded and checked like the single tools. Steps: ["goto", url] ["wait_css", selector] ["wait_text", text] ["read", mode, find?] ["click", role, name, index?] ["click_css", selector] ["type", role, name, text] ["type_css", selector, text] ["dismiss"] ["back"] ["sleep", lo_seconds, hi_seconds].

Input Schema

NameRequiredDescriptionDefault
tabYestab id returned by browser_open
paceNohuman (default): moves and types like a person. quick: same random point and safety rules, but jumps to it and types fast; for bulk work nobody watches
stepsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/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 well: it discloses ordering ('runs in order'), fail-fast semantics ('stops at the first error'), partial-result return ('returns what it got so far'), and that each step is recorded and validated like the single tools. It does not say whether steps are subject to the same safety/guard checks or how the error payload is shaped, so it stops short of complete behavioral disclosure.

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?

The behavioral guarantees are front-loaded before the step grammar, which is the right order. The step enumeration is long but every entry carries information; the terse bracket notation is dense yet readable for an agent.

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 three-parameter tool with no output schema and no annotations, the description covers ordering, failure behavior, and the full step vocabulary. Remaining gaps are the shape of the partial return value and whether 'tab' must come from browser_open (the schema covers that).

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 67%: 'tab' and 'pace' are documented in the schema, but 'steps' items are only typed as 'array of array'. The description compensates by enumerating every valid step form with its positional arguments, which is real value beyond the schema. It does not spell out that the first element is the step name or how optional args like 'index?' and 'find?' behave when omitted.

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?

The description opens with a specific verb and scope: 'Several steps in ONE call'. It explicitly distinguishes this batch tool from the single-step siblings (browser_goto, browser_click, browser_type) by positioning it as the multi-action round-trip reducer. An agent can tell exactly what this does without opening the schema.

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?

It states the selection condition clearly: 'use it whenever you already know the next steps', which implicitly routes adaptive/inspect-first workflows to the single tools. It does not explicitly name a when-not case (e.g. when you need to inspect an intermediate result before deciding the next action), so it is clear context rather than complete exclusion guidance.

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