Skip to main content
Glama

agent-browser

Navigate to a URL

browser_navigate

Use for: loading a web page in a real Chromium browser and reading it. Returns the page title, final URL and a clean text extract (up to 8000 chars). Don't use when: you only need raw HTML or an API response — a plain HTTP fetch is cheaper. Errors are structured: NAV_TIMEOUT, NAV_FAILED, INVALID_URL.

Input Schema

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL to load.
wait_forNoOptional CSS selector to wait for after load (max 10s).
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescriptionDefault
urlYes
textYes
titleYes
session_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Adds real context beyond annotations: the 8000-char text extract cap and the structured error taxonomy (NAV_TIMEOUT, NAV_FAILED, INVALID_URL). Annotations already declare openWorldHint=true and destructiveHint=false, and nothing here contradicts them. It stops short of stating that navigation establishes/mutates session state, which is the one behavioral nuance left implicit.

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 tightly packed sentences: purpose, exclusion, error contract. Every sentence carries information and the usage guidance is front-loaded ahead of edge details.

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

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema handling return shape and full schema coverage on params, the description only needs to cover routing and failure modes — and it does both, including the named error codes.

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 100%, so url, wait_for and session_id are all fully documented in the schema, including the session-reuse semantics. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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 verb and resource ('loading a web page in a real Chromium browser and reading it') and names the returned artifacts. It also explicitly distinguishes itself from a plain HTTP fetch, which is the relevant alternative for the browser_* family.

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

Usage Guidelines5/5

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

Explicit 'Use for' and 'Don't use when' clauses with the substitution named ('a plain HTTP fetch is cheaper'). The agent can decide without opening the schema or guessing at sibling behavior.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources