Skip to main content
Glama

Browser (user): inspect and act

navig_browser_user
Destructive

Control the operator's browser: list tabs, read snapshots, capture console/network, take screenshots, and automate clicks, typing, and scrolling. Returns tab IDs and page data.

Instructions

Work with the operator's own browser through Dock: list tabs, read snapshots/text, read console/network (the first call starts capture), screenshot, or act (open/click/type/scroll) under a visible overlay. Screenshots write a file. Use navig_browser_debug for a NAVIG-launched debug browser; this never silently falls back to one. Returns tab ids, page text/tree, capture entries, or per-step results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
docNoThe doc id from the snapshot the refs came from. Used by: act.
refNoElement ref to capture instead of the whole viewport Used by: screenshot.
urlNohttp(s) address; empty opens a blank tab. Used by: open.
clearNoClear the buffered console entries after reading them Used by: console, network.
closeNoClose the Dock session after releasing the tab (default: keep it open) Used by: release.
limitNoMaximum entries to return Used by: console, network.
sinceNorev of your last snapshot of this page → diff only. Used by: snapshot.
actionYesOperation to perform. Required parameters per action: status: none; tabs: none; snapshot: tab_id; text: tab_id; screenshot: tab_id; console: tab_id; network: tab_id; open: none; act: tab_id, actions; release: tab_id. What each action does: status: Is the user's own Chrome (NAVIG Dock) connected for agent control? Shows paused/connected state and latency (required: none) | tabs: List the tabs agents may use: the 'NAVIG agents' tab group in the user's browser (tabs you opened plus any the user dragged into the group) (required: none) | snapshot: Read a tab as a compact accessibility outline: one line per element with [ref_N] handles for dock_act (required: tab_id) | text: The readable text of a tab's main content (article/main or body) (required: tab_id) | screenshot: A JPEG of the tab's visible area (or one element: ref), at most max_width px wide (required: tab_id) | console: Console messages and uncaught errors of a tab (required: tab_id) | network: Requests a tab made (url with secrets redacted, method, type, status, failures) (required: tab_id) | open: Open a new tab in the user's browser inside the 'NAVIG agents' group and return its tab_id (required: none) | act: Act in a tab with trusted input — up to 12 steps in ONE call (required: tab_id, actions) | release: Hand a tab back when you are done (required: tab_id)
activeNoBring the tab to the front. Used by: open.
filterNoOnly return elements whose text or role matches this substring Used by: snapshot.interactive
tab_idNoTab id from dock_tabs or dock_open. Used by: snapshot, text, screenshot, console, network, act, release.
actionsNoOrdered steps, run one after another; the first failure stops the batch and later steps are skipped (results say which ran). Each step is {"action": verb, …}. TARGET = ref (a [ref_N] from dock_snapshot) OR a locator: role (+ name), testid, css, has_text or xpath (+ nth, 1-based) — a locator matching several elements fails as ambiguous, never guesses. Verbs: click {TARGET | x,y, button?, clicks?} · type {text, TARGET?, clear?, submit?} · fill {TARGET, value} (sets a field / checkbox / dropdown directly — fastest) · key {keys e.g. "Control+a"} · scroll {direction up|down, amount? | TARGET} · hover {TARGET | x,y} · select {TARGET, value} · navigate {url | back | forward | reload} · wait {ms ≤ 5000} · wait_for {locator | url_contains, gone?, timeout_ms ≤ 15000} (event driven) · extract {TARGET, attr?, max?} (text / links of matching elements) · get_text {} · upload {TARGET (a file input), files: [absolute paths on this computer]} (the user confirms on the page). click / type / key / navigate take dialog: accept|dismiss for an alert/confirm/prompt the step opens (default dismiss; prompt_text answers a prompt). Typing into a password or card field asks the user first. Used by: act.
observeNotrue: the page outline after the steps (default); "diff": only what changed; false: nothing. Used by: act.
patternNoOnly return entries whose text matches this substring Used by: console.
qualityNoCompression quality (1-100) for the returned image Used by: screenshot.
max_charsNoTruncate the extracted text to this many characters Used by: text.
max_widthNoDownscale the image to at most this width in pixels Used by: screenshot.
deadline_msNoMilliseconds to wait for the action to complete Used by: act.
failed_onlyNoOnly return failed requests (status >= 400 or no response) Used by: network.
only_errorsNoOnly return error-level console entries Used by: console.
url_patternNoOnly return requests whose URL matches this substring Used by: network.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.3

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructive/openWorld/non-idempotent, and the description adds genuine context beyond them: the first console/network call starts capture, screenshots write a file to disk, and act runs under a visible overlay. The schema further discloses that dialog handling, password/card typing and uploads require user confirmation. It stops short of describing rate limits, session lifetime, or failure modes.

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?

Three sentences, front-loaded with the capability list, then routing guidance, then the return shape. Every clause carries information; it is dense but not padded, and sized appropriately for a ten-action tool.

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?

No output schema exists, so the description must cover returns, and it does at a useful level ('tab ids, page text/tree, capture entries, or per-step results'). Combined with a fully documented schema for a 21-parameter multi-action tool, the main residual gap is lifetime/session-management guidance around release.

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 100% and the action enum carries exhaustive per-action required-parameter and behavioral documentation, so the schema does the heavy lifting for all 21 parameters. The description only paraphrases the action families it already lists; baseline 3 is correct when structured fields are this complete.

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 names a specific verb set and resource ('the operator's own browser through Dock') and enumerates the capability families (tabs, snapshot/text, console/network, screenshot, act). It explicitly distinguishes itself from the sibling navig_browser_debug and states it never silently falls back to it, so an agent can route without opening either 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 names the alternative tool explicitly ('Use navig_browser_debug for a NAVIG-launched debug browser') with the condition that selects it, and reinforces the exclusion with 'this never silently falls back to one'. It does not, however, mention navig_browser_debug_act or any guidance on choosing among the ten internal actions from the description itself.

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