Skip to main content
Glama

browse_outline

Read-only

Navigate to a URL once and return headings and landmarks to extract a page outline, with optional CSS selector scoping and result limits.

Instructions

Navigate once and return page headings and landmarks.

Input Schema

NameRequiredDescriptionDefault
osNoOptional OS to spoof. Can be 'windows', 'macos', or 'linux'. If not specified, will rotate between all OS types.
urlYesThe URL to navigate to. Must be a fully qualified http or https URL.
argsNoAdditional browser command-line arguments to pass to the browser. Rejected unless CAMOUFOX_MCP_ALLOW_UNSAFE_OPTIONS=1; denied args are always rejected.
geoipNoAutomatically detect geolocation based on IP address.
proxyNoProxy configuration for routing browser traffic through an HTTP(S) proxy. Proxy servers are checked against the same local-network URL policy as page requests.
localeNoBrowser locale (e.g., 'en-US', 'fr-FR').
windowNoSet fixed window size [width, height] instead of random generation. An empty array [] is accepted and treated as if the window parameter was not specified.
timeoutNoTimeout in milliseconds for page load (5-300 seconds).
headlessNoRun browser in headless mode. Auto-detects best mode for environment if not specified.
humanizeNoEnable realistic cursor movements and human-like behavior for better stealth and anti-detection.
maxItemsNoMaximum headings and landmarks to return.
selectorNoOptional CSS selector to limit extraction to one matching element.
viewportNoCustom viewport dimensions.
emulationNoContext emulation for diagnosing how the page behaves under other conditions.
block_webglNoBlock WebGL to prevent fingerprinting and tracking.
block_imagesNoBlock all images for faster loading, reduced bandwidth, and lightweight browsing.
block_webrtcNoBlock WebRTC entirely for enhanced privacy and stealth.
disable_coopNoDisable Cross-Origin-Opener-Policy for sites that require it.
enable_cacheNoCache pages, requests, etc. Uses more memory but improves performance when revisiting pages.
waitStrategyNoWait strategy for page load. Defaults to 'domcontentloaded'. 'load' waits for all resources, 'networkidle' waits for network activity to finish.domcontentloaded
captchaPolicyNoChallenge handling policy. 'detect' reports signals, 'pause' returns state for human action, 'fail' returns an error, 'attempt' returns enhanced challenge metadata, interactive elements, a bounded screenshot, and a suggested strategy. When CAPTCHA_AUTONOMOUS=true, responses are marked for LLM-assisted handling and include provider-specific challengePlaybook context when known.
exclude_addonsNoList of default addons to exclude (e.g., ['ublock_origin']). Rejected unless CAMOUFOX_MCP_ALLOW_UNSAFE_OPTIONS=1.
includeConsoleNoInclude bounded page console diagnostics in the JSON response.
includeNetworkNoInclude bounded network diagnostics in the JSON response.
stealthProfileNoConvenience profile for common Camoufox browser settings. Explicit options override profile values.normal
firefox_user_prefsNoCustom Firefox user preferences to set. Rejected unless CAMOUFOX_MCP_ALLOW_UNSAFE_OPTIONS=1; denied prefs are always rejected.

Output Schema

NameRequiredDescriptionDefault
urlYes
titleNo
statusNo
messageNo
headingsYes
maxItemsYes
selectorNo
landmarksYes
truncatedYes
contentTypeNo
descriptionNo
diagnosticsNo
challengeTypeNo
selectorFoundYes
captchaIframesNo
captchaDetectedNo
challengeSignalsNo
challengeHandlingNo
challengePlaybookNo
challengeProviderNo
suggestedStrategyNo
requiresUserActionNo
interactiveElementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds nothing beyond that: it never mentions the CAPTCHA policy behavior, stealth/anti-detection defaults, the environment-variable gates on args/firefox_user_prefs, or that navigation may be subject to timeout and wait-strategy semantics.

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?

One sentence, front-loaded with the verb, and zero filler. It is efficient but arguably undersized for a tool exposing 26 configuration parameters; a single sentence cannot carry the necessary scoping.

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?

The tool is highly complex (26 params, nested emulation/proxy/viewport objects, stealth and challenge-handling options) with an output schema that relieves the need to describe returns. A one-line description leaves an agent unaware of the stealth, proxy, emulation, and CAPTCHA-handling capabilities entirely, which is a substantial completeness gap for this complexity level.

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%, so all 26 parameters are documented in the schema and baseline is 3. The description's mention of 'headings and landmarks' loosely maps to maxItems/selector but adds no format, ordering, or selection semantics beyond what the schema already states.

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?

States a specific verb and outcome: 'Navigate once and return page headings and landmarks.' An agent can tell it is a one-shot navigation plus outline extraction. It does not, however, distinguish itself from close siblings such as browse_snapshot, browse_inspect, or browse_extract, which likely return overlapping structural data.

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

Usage Guidelines2/5

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

'Navigate once' weakly implies a one-off alternative to the session-based siblings (browse_session_start / browse_session_navigate), but no explicit when-to-use, when-not-to-use, or named alternative is given. An agent choosing among ~25 browse_* tools gets almost no routing signal.

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