Skip to main content
Glama
Browser Session MCP

Browser Session MCP

select_option

Pick a dropdown or radio option by its text in the active browser tab, covering native selects, radio groups, searchable comboboxes, and script-drawn lists.

Instructions

Choose an option in a dropdown or a radio group by its text, in the session's active tab. Works on a native <select> (set directly, firing input and change), on a radio group (pass a radio, its fieldset or a role=radiogroup; the option is clicked as a person would and checked to be selected) and on custom dropdowns drawn by scripts (a combobox, a React or other component select, a searchable list): it opens the dropdown with a real click, types option to filter when the option isn't in the list showing (long lists drawn in part, and lists searched as you type), clicks the option, and reads the field back. option matches exactly ignoring case, else the shortest option starting with it, else the shortest containing it. selector is the dropdown: the select, the combobox input or the box you'd click to open it (CSS, or plain words as for click). Without option, opens the dropdown, returns its options and closes it, choosing and typing nothing: look before you pick. It types only when the list may be partial (empty, loading, or 20 options or more), and clears what it typed when nothing matches. Returns what was chosen, the options offered, what the field shows after and whether that is the option (confirmed; a field can show a short form, such as "+1" for a country), with where the page is as for click. Fails listing the options offered when none matches, or when no list opens.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "sessionId": "<sessionId>",
      "selector": "<selector>"
    },
    "name": "select_option"
  }
}

Input Schema

NameRequiredDescriptionDefault
optionNoThe option's text, or the start of it ("United States" picks "United States +1"). Leave it out to list the options without choosing.
timeoutNoMilliseconds to wait for `selector` to appear. Default 5000.
selectorYesThe dropdown: a `<select>` (or its label), the combobox input, or the box you'd click to open it. CSS, or plain words as for click.
sessionIdYesThe id returned by open_browser_session. Errors if no open session has it.

Output Schema

NameRequiredDescriptionDefault
hitNoWhat was at the clicked or tapped point.
urlYesThe page's URL after the action.
shownNoWhat the field shows after: a native select's option, or the text by a custom dropdown.
titleYesThe page's title after the action.
chosenNoThe option picked, as the list shows it; absent when only listing.
dialogNoAn open dialog's text, if one is showing.
changedNoA field `type` filled that the page changed once focus left it (a date that reformats or reverts on blur), with both texts.
focusedYesThe element with keyboard focus, or "nothing".
optionsYesThe options of a dropdown or list open after the action (the one the focused field controls, else any showing), up to 50: pick one with select_option or click.
answeredNoThe page's own dialogs (alert, confirm, prompt, "Leave site?") answered since the last action, each accepted.
rejectedNoFields the page rejected during the action, each with its message: the browser's own form check (a required field left empty), or the page marking them invalid. The form wasn't sent while any remain.
confirmedNoWhether the field shows the chosen option.
navigatedYesWhether the URL changed.
focusTrailNoWith press_key's `repeat`: the focused element after each press.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.23

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses substantial behavior: it opens dropdowns with real clicks, types to filter only under certain conditions, clears typed text on no match, uses a specific matching algorithm, and reports confirmation and failure details. This is consistent with `readOnlyHint=false` because the tool mutates the page by selecting a value.

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?

The purpose and core behavior are front-loaded, and the density is largely justified by the tool's multiple dropdown modes and matching rules. Some sentences, especially around return values and parenthetical examples, are dense and partly overlap with the output schema, but the description remains readable and purposeful.

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, full schema coverage, annotations, and output schema, the description is complete enough for correct invocation. It covers supported targets, matching rules, selection confirmation, no-match failures, and the inspect-only mode.

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 already 100%, but the description adds meaningful semantics beyond the schema, especially for `option`: exact case-insensitive matching first, then shortest prefix, then shortest containing match. It also clarifies that omitting `option` lists choices without selecting anything.

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 a specific verb and resource: choosing an option in a dropdown or radio group by its text in the active tab. It also distinguishes supported targets such as native selects, radio groups, and custom script-drawn dropdowns, so an agent can recognize the specialized purpose without opening the schema.

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

Usage Guidelines4/5

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

The description gives clear usage context by explaining which dropdown types are supported and when to omit `option` to inspect available choices before selecting. It does not explicitly compare itself with sibling tools like click or type, so it stops short of full when-to-use/when-not-to-use guidance.

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