Skip to main content
Glama
adyoi
by adyoi

browser_fetch

Fetch URLs through a headless browser to retrieve JavaScript-rendered pages and screenshots; falls back to standard web fetch when browser support is unavailable.

Instructions

Fetch a URL using a headless browser (JS-rendered, screenshots). Requires optional playwright/puppeteer; falls back to webfetch when unavailable.

Input Schema

NameRequiredDescriptionDefault
urlYesAbsolute http/https URL.
max_charsNo
timeout_msNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

B3.2/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 behavioral burden and does disclose the optional playwright/puppeteer requirement and fallback to webfetch. It still omits important behavioral details such as return format, screenshot handling, error behavior, and whether fallback changes the result.

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?

The description is two compact sentences with no wasted wording, and the core capability is front-loaded. Both sentences contribute useful information about rendering and dependency/fallback behavior.

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

Completeness2/5

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

There are no annotations, no output schema, and weak schema description coverage for two of three parameters. The description covers the headline capability and dependency, but it does not provide enough context about return values, parameter effects, or fallback semantics for an agent to fully understand the tool.

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?

Only the url parameter is documented in the schema, while max_chars and timeout_ms have constraints but no descriptions. The tool description does not mention any parameters, so it fails to compensate for the low 33% schema description coverage.

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 gives a specific verb and resource: fetch a URL using a headless browser, with JS-rendered pages and screenshots called out. It partially distinguishes itself from sibling webfetch by mentioning the fallback, but it does not clearly state the primary selection rule versus webfetch.

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?

Usage is implied by 'JS-rendered, screenshots' and the optional playwright/puppeteer dependency, suggesting this is for pages needing browser rendering. However, there is no explicit guidance on when to choose browser_fetch over webfetch when both are available, and no exclusions are stated.

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