Skip to main content
Glama

browser_goal

Complete a full browser task in one call: provide a goal and optional URL, and the tool drives the page, handling actions and verifying the outcome with assertions, eliminating step-by-step instructions.

Instructions

Hand a whole browser task over. Needs a decision-model key.

This is the entry point for browser work, not an optimisation on top of the manual loop. Pass url and the goal and the page is opened and driven to the end here: one call, one host turn, instead of a turn per click.

Leave url out when the task continues from a page an earlier step left behind; the goal then runs against whatever the session is already showing.

Each step costs one request (operation + every target head in a single speculative fan-out). verify runs browser_assert-style checks on the final page, so the result is a fact rather than a model's claim of success.

The decision model is reachable through two APIs and both are supported here. JEV_PROVIDER=typesafe uses Jev's own API with TYPESAFE_API_KEY; JEV_PROVIDER=openrouter routes the same model through OpenRouter with OPENROUTER_API_KEY and no TypeSafe account. Same model, same contract either way. Reading a page needs no key at all, so when no key is set the handoff is unavailable while browser_open, browser_observe and browser_act keep working.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
goalYes
verifyNo
sessionNodefault
verboseNo
max_stepsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, it discloses per-step request cost with speculative fan-out, that verify runs browser_assert-style checks producing facts rather than model claims, and the two provider API routes plus no-key behavior. No contradiction with the readOnly/openWorld/destructive hints.

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 relatively long but every paragraph earns its place: purpose, usage, cost, verification, and auth. It is front-loaded with the core idea and organized so an agent can quickly extract selection and invocation guidance.

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?

Together with the output schema and annotations, the description gives enough context for selection, invocation, auth requirements, cost behavior, and fallback options. It is only slightly incomplete because a few auxiliary parameters like session and max_steps are left without explicit semantics.

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?

With 0% schema description coverage, the description adds real meaning for url (include or omit), goal (the whole task), and verify (final-page assertions). However, it does not explain session, verbose, or max_steps, so it only partially compensates for the schema's lack of parameter documentation.

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 states explicitly that the tool hands a whole browser task over, drives the page to completion, and is the entry point for browser work rather than an optimization on top of the manual loop. This clearly distinguishes it from siblings like browser_open, browser_observe, and browser_act.

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?

It explicitly positions when to use this tool versus the per-click manual loop, names the fallback tools that keep working when no key is set, and gives a clear condition for omitting url when continuing from an existing session. This is actionable usage guidance.

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