Skip to main content
Glama

select_option_ui

Choose an option from a React-Select or Headless UI dropdown by opening the menu and clicking the desired text, solving dynamic menus that are unavailable to direct JavaScript calls.

Instructions

Choose an option in a React-Select / Headless UI dropdown by driving its UI.

These have no to set, so the menu is opened, awaited, and the option clicked — which cannot be done in a single JavaScript call because the menu does not exist yet when the click would fire.

Args: control_selector: CSS selector for the control that opens the menu. option_text: Visible text of the option to choose. tab_id: Exact tab id. url_pattern: Regex matched against tab URLs. option_selector: Override the option selector if the defaults miss. timeout_ms: How long to wait for the menu to appear.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tab_idNo
timeout_msNo
option_textYes
url_patternNo
option_selectorNo
control_selectorYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses that the tool opens the menu, waits for it, and clicks the option, and explains the asynchronous constraint. It also mentions the timeout for menu appearance, which is valuable behavioral context beyond a simple 'select' 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 front-loaded with the core purpose and immediately explains why the tool behaves as it does. The Args list is compact and each line earns its place by clarifying a parameter. There is no redundant filler.

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 description is largely complete for a 6-parameter UI-driving tool: it explains the mechanism, the parameters, and the waiting behavior. Since an output schema exists, return-value details are not required. It could be slightly stronger by mentioning failure modes or when to prefer a native select alternative, but it is sufficient for correct invocation.

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 0%, so the description must compensate, and it does by documenting all six parameters. Each parameter gets a concise functional explanation, such as 'control_selector: CSS selector for the control that opens the menu' and 'option_selector: Override the option selector if the defaults miss.' This adds real meaning beyond the bare schema titles.

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: 'Choose an option in a React-Select / Headless UI dropdown by driving its UI.' It also distinguishes this tool from native select handling by explaining that these dropdowns have no <select> to set, making the purpose clear relative to sibling tools like select_option.

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 context for when to use the tool: for React-Select / Headless UI dropdowns that cannot be set via a native <select>. It explains the UI-driving approach and why a single JavaScript call will not work, but it does not explicitly name alternative tools or state when not to use it.

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