Skip to main content
Glama

browser_select_option

Selects an option from dropdown menus by matching text or value, supporting native and custom elements, with clear error feedback.

Instructions

Select an option from a dropdown menu. Works with native elements AND custom dropdowns (Angular Material, React Select, etc.). For custom dropdowns: clicks the trigger, waits for options, then clicks the matching option by text. For autocomplete (typing filters options) use browser_set_combobox instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNoMs to wait after clicking trigger for options to appear (default: 300)
optionYesText OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches. A controlled component may reset the field and store the choice elsewhere, so a success can come with `landed: null` and `maybe_landed: true`: the page changed, but the change does not prove it was the selection. Read the page before selecting again.
selectorYesCSS or text selector for the dropdown trigger / <select> element

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.29.2
    • changedInput schema / properties / option / description
      Previous value: -"Text OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches - it never reports success without the field actually changing."New value: +"Text OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches. A controlled component may reset the field and store the choice elsewhere, so a success can come with `landed: null` and `maybe_landed: true`: the page changed, but the change does not prove it was the selection. Read the page before selecting again."
  2. Changed1 schema field changedv1.29.1
    • changedInput schema / properties / option / description
      Previous value: -"Text OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches — it never reports success without the field actually changing."New value: +"Text OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches - it never reports success without the field actually changing."
  3. Changed1 schema field changedv1.28.0
    • changedInput schema / properties / option / description
      Previous value: -"Text of the option to select (partial match supported)"New value: +"Text OR value of the option to select. Exact value match wins, then exact text, then partial text. Aliases: `value`, `label`. Fails loudly with the available options if nothing matches — it never reports success without the field actually changing."
  4. First observedv1.0.0

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the click-wait-click behavior, failure mode (fails loudly with available options), and the edge case for controlled components (landed: null, maybe_landed: true). This is detailed and transparent, though it doesn't mention potential side effects or permissions, which are likely minimal for a browser action.

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 a single dense paragraph that front-loads the purpose, then explains the mechanism and alternative in a logical order. No wasted words; every sentence contributes to understanding when and how to use the tool.

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?

For a tool with no annotations and no output schema, the description covers the essential aspects: purpose, mechanism, edge cases, and alternative routing. It lacks an explicit statement of return value, but mentions 'landed' and 'maybe_landed' as part of the result, which is sufficient given the tool's likely standard return pattern. Overall it's nearly complete for an agent to use correctly.

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 description coverage is 100%, so baseline is 3. The description adds meaningful semantics beyond the schema: for 'option' it details matching priority (exact value, exact text, partial text), aliases (value, label), and failure behavior. For 'wait' it explains the default and purpose, and for 'selector' clarifies it accepts CSS or text selectors. This adds practical value for correct invocation.

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 clearly states the tool selects an option from a dropdown and explicitly distinguishes native <select> from custom dropdowns, even naming the sibling browser_set_combobox for autocomplete scenarios. This differentiates it from related tools without needing to inspect schemas.

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 provides explicit when-to-use guidance: for dropdown selection, and explicitly says to use browser_set_combobox for autocomplete. It also explains the mechanism for custom dropdowns (click trigger, wait, click option), giving clear operational context.

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