Skip to main content
Glama

browser_select_option

Destructive

Selects one or more dropdown options by element reference or unique selector, supporting single and multi-value selection in open browser tabs.

Instructions

Select an option in a dropdown

Input Schema

NameRequiredDescriptionDefault
targetYesExact target element reference from the page snapshot, or a unique element selector
valuesYesArray of values to select in the dropdown. This can be a single value or multiple values.
elementNoHuman-readable element description used to obtain permission to interact with the element

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changedv0.4.0
    • addedInput schema / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / by_text
      Removed value: -{
      -  "default": false,
      -  "type": "boolean"
      -}
    • removedInput schema / properties / confirm_token
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / element / description
      Added value: +"Human-readable element description used to obtain permission to interact with the element"
    • removedInput schema / properties / expect
      Removed value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}
    • removedInput schema / properties / first
      Removed value: -{
      -  "default": false,
      -  "type": "boolean"
      -}
    • removedInput schema / properties / ref
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / selector
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / tab_id
      Removed value: -{
      -  "description": "Default: active tab.",
      -  "type": "integer"
      -}
    • addedInput schema / properties / target
      Added value: +{
      +  "description": "Exact target element reference from the page snapshot, or a unique element selector",
      +  "type": "string"
      +}
    • removedInput schema / properties / timeout
      Removed value: -{
      -  "default": 10000,
      -  "type": "integer"
      -}
    • removedInput schema / properties / value
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / values
      Added value: +{
      +  "description": "Array of values to select in the dropdown. This can be a single value or multiple values.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / wait
      Removed value: -{
      -  "default": false,
      -  "type": "boolean"
      -}
    • addedInput schema / required
      Added value: +[
      +  "target",
      +  "values"
      +]
  2. Changed24 schema fields changedv0.3.0
    • removedInput schema / properties / by_text / title
      Removed value: -"By Text"
    • addedInput schema / properties / confirm_token
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / element / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / element / default
      Removed value: -null
    • removedInput schema / properties / element / title
      Removed value: -"Element"
    • addedInput schema / properties / element / type
      Added value: +"string"
    • addedInput schema / properties / expect
      Added value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
    • addedInput schema / properties / first
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • removedInput schema / properties / ref / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / ref / default
      Removed value: -null
    • removedInput schema / properties / ref / title
      Removed value: -"Ref"
    • addedInput schema / properties / ref / type
      Added value: +"string"
    • removedInput schema / properties / selector / default
      Removed value: -""
    • removedInput schema / properties / selector / title
      Removed value: -"Selector"
    • removedInput schema / properties / tab_id / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / tab_id / default
      Removed value: -null
    • addedInput schema / properties / tab_id / description
      Added value: +"Default: active tab."
    • removedInput schema / properties / tab_id / title
      Removed value: -"Tab Id"
    • addedInput schema / properties / tab_id / type
      Added value: +"integer"
    • addedInput schema / properties / timeout
      Added value: +{
      +  "default": 10000,
      +  "type": "integer"
      +}
    • removedInput schema / properties / value / default
      Removed value: -""
    • removedInput schema / properties / value / title
      Removed value: -"Value"
    • addedInput schema / properties / wait
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • removedInput schema / title
      Removed value: -"browser_select_optionArguments"
  3. Changed5 schema fields changed
    • addedInput schema / properties / element
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Element"
      +}
    • addedInput schema / properties / ref
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Ref"
      +}
    • addedInput schema / properties / selector / default
      Added value: +""
    • addedInput schema / properties / value / default
      Added value: +""
    • removedInput schema / required
      Removed value: -[
      -  "selector",
      -  "value"
      -]
  4. 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 indicate destructive=true, so the description does not contradict that. But the description adds no further behavioral detail (e.g., side effects on the page). With annotations present, the bar is lower, and the description is neutral.

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 concise sentence with no redundant words. It is well-structured and to the point.

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?

The tool is simple and the schema covers all parameters. The description is short but sufficient for a basic understanding. It does not specify whether values are labels or values, but that is a minor omission given the context.

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 coverage is 100% with clear parameter descriptions for target and values. The tool description itself does not explain parameters beyond what the schema already provides, so it adds no extra semantic value.

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 clearly states the action (select) and the target (option in a dropdown), distinguishing it from more general actions like click or type. However, it does not explicitly contrast with sibling tools, so it misses a bit of distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention when selecting is appropriate or when other actions (e.g., click, type) might be preferred.

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