Skip to main content
Glama

select_option

Choose one or multiple options in native or Select2 dropdowns by CSS selector, value, or label. Identifies React-Select widgets to guide using the appropriate UI method.

Instructions

Choose option(s) in a native or a Select2 widget.

Pass several values for a multi-select. If the element turns out to be a React-Select style widget with no underlying , this says so and you should use select_option_ui instead.

Args: selector: CSS selector for the . values: Option values or labels to select. tab_id: Exact tab id. url_pattern: Regex matched against tab URLs. by: Match options by 'value', 'label', or 'auto' (either). nth: Which match to use, 0-based.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
byNoauto
nthNo
tab_idNo
valuesYes
selectorYes
url_patternNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior4/5

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

There are no annotations, so the description carries the burden of behavioral disclosure. It does disclose a key behavior: if the element turns out to be a React-Select widget, the tool 'says so' and directs the caller to select_option_ui. It also implies multi-select behavior. It could add more about error handling or side effects, but it is well beyond a bare description.

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 compact and front-loaded. The main purpose is in the first sentence, followed by usage-specific notes and then a clean, scannable Args list. Every line adds necessary information without redundancy.

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?

For a 6-parameter interaction tool with zero annotation coveragetingham, the description covers the tool's purpose, the distinguishing alternative, how to handle multi-select, and all parameter meanings. The presence of an output schema means return values do not need to be explained in the description. Nothing essential for correct invocation appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters, and it does: selector, values, tab_id, url_pattern, by, and nth each receive an explanation that goes beyond the schema's property names. The descriptions are concise and meaningful, especially 'by' and 'nth'.

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 action ('Choose option(s)') on a specific resource ('native <select> or a Select2 widget'), and explicitly distinguishes itself from select_option_ui for React-Select style widgets. This makes its purpose immediately clear and differentiates it from the relevant sibling.

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?

The description explicitly names the alternative (select_option_ui) and gives the precise condition for using it: when the element is a React-Select style widget with no underlying <select>. It also notes that multiple values should be passed for multi-select, providing direct usage guidance.

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