Skip to main content
Glama

browser_task

Destructive

Run natural-language web tasks in a cloud browser: AI agent navigates, clicks, types, scrolls, and extracts data for multi-step flows. Returns structured results with run metadata.

Instructions

Run a natural-language task in a real cloud browser driven by an AI agent: it navigates, clicks, types, scrolls, and extracts on your behalf ("find the cheapest 65-inch TV on this site and list its specs", "fill the contact form with …"). Use when scrape cannot do the job (multi-step flows, interactions, complex navigation) and no Wire action covers the site (check wire_discover first — Wire actions are faster and cheaper). Async; runs up to ~5 minutes and this tool polls to completion. For login-protected tasks pass session_id from session_list — never put passwords in the prompt. Supply output_schema to get structured JSON back. It does not execute payments or transfer funds; such tasks are refused. Returns the task result plus run metadata (steps taken, duration, run_id).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoNavigate here before starting. Omit to let the agent follow URLs named in the prompt.
promptYesThe task in natural language. Be specific about the goal and what to return. Never include passwords or secrets — use session_id for authenticated sites.
max_stepsNoCap on agent steps (navigation/click/type actions).
session_idNoSaved browser-session ID (from session_list) so the task runs logged in.
timeout_msNoTask timeout in milliseconds (server caps runs at ~330s regardless).
output_schemaNoJSON Schema for the result — the agent returns structured data conforming to it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cachedNo
resultNoThe task result — structured JSON matching output_schema if it was supplied, otherwise a free-form value.
run_idNo
successNo
iterationsNo
duration_msNo
steps_takenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already signal openWorldHint and destructiveHint, so the description doesn't need to restate those, but it adds important behavioral context: async polling up to ~5 minutes, refusal to execute payments or transfer funds, and the use of session_id for login without exposing secrets. It also notes the output includes run metadata. This goes beyond the annotations and clarifies limitations and operational details.

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 efficiently packed, with each sentence earning its place. It front-loads the core purpose and examples, then systematically covers usage conditions, async behavior, authentication, output schema, restrictions, and return format. No filler or redundancy; it reads well and is easy to parse.

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?

Given the tool's complexity (six parameters, async behavior, security constraints, output schema), the description is remarkably complete. It covers purpose, selection criteria, operational details (timeout, polling), authentication, structured output, limitations (no payments), and the return payload. An agent has everything needed to invoke it correctly without further research.

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 100% for all six parameters, so the baseline is 3. The description adds practical value beyond the schema: it explains how to use session_id (from session_list) for authenticated sites, advises against putting passwords in the prompt, mentions that url can be omitted to let the agent follow URLs from the prompt, and notes that output_schema yields structured JSON. These enrich the parameter meaning and guide correct usage.

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 clear statement of what the tool does: 'Run a natural-language task in a real cloud browser driven by an AI agent' followed by a concrete list of actions (navigates, clicks, types, scrolls, extracts) and two illustrative examples. It distinguishes itself from siblings by explicitly contrasting with scrape and Wire actions, so an agent knows exactly when this tool applies.

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?

The description gives explicit when-to-use guidance: 'Use when scrape cannot do the job (multi-step flows, interactions, complex navigation) and no Wire action covers the site (check wire_discover first — Wire actions are faster and cheaper).' It also instructs to pass session_id for authenticated tasks and warns against putting passwords in the prompt. This fully covers selection criteria and prerequisites.

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