Skip to main content
Glama

Select option

select_option

Select one or more options in a element by value or visible label, including multi-select fields, to automate form choices.

Instructions

Choose option(s) in a element, matching each by its value or its visible label.

Input Schema

NameRequiredDescriptionDefault
frameNoCSS selector of the iframe containing the element (e.g. "iframe[name^=__privateStripeFrame]"), or a list for nested iframes, outermost first. Not needed with aria-ref selectors.
optionsYesOption value/label, or several for a multi-select
timeoutNoTimeout in milliseconds
selectorYesSelector: "aria-ref=e5" from get_page_snapshot (preferred; also reaches into iframes), CSS ("#email", "button.submit"), text ("text=Sign in"), role ("role=button[name=/save/i]") or XPath ("xpath=//a")

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and openWorldHint=true, so the mutation/open-world profile is known without the description. The description adds the useful matching rule (value vs visible label) but omits key behavior for a selection tool: whether multi-select calls replace or append to the current selection, whether it auto-waits for the option to appear, and what happens when an option is not found.

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?

A single, front-loaded sentence with no filler — the core action and matching rule come first. It is efficient but so terse that the structure leaves no room for the caveats an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutating browser tool with no output schema, the schema covers inputs fully and annotations cover the safety profile, so the description need not explain return values. However, it says nothing about failure modes (option missing, element not select), selection replacement vs accumulation, or the aria-ref prerequisite implied by frame's description, leaving real gaps.

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 options/selector/frame/timeout are all documented in the schema itself, including the multi-select note. The description's 'matching each by its value or its visible label' largely restates the options parameter description rather than adding resolution rules or precedence (what happens if both a value and label match).

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?

The description names a specific verb ('Choose') and a specific resource/context ('option(s) in a <select> element'), and explains the matching rule (value or visible label). It implicitly separates the tool from fill_input, but never names or contrasts any sibling explicitly.

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

Usage Guidelines3/5

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

Usage is only implied by the phrase 'in a <select> element' — an agent can infer this is for dropdowns rather than free-text inputs. There is no explicit when-to-use/when-not, no mention of needing a prior get_page_snapshot for aria-refs, and no stated alternatives such as fill_input.

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