Skip to main content
Glama

app_set_dropdown

Select and verify an option in a combo box or drop list, with an optional list-only mode to inspect available choices without changing the current value.

Instructions

Choose an option in a combo box or drop list, and verify it.

THESE WERE READABLE AND UNSETTABLE. combobox and droplist have been reported by app_list_open_dialogs from the start, so a caller could see a combo and its current value with no way to change it, which is the same shape as a property that reads and will not write.

Three routes are tried, cheapest first: the option's own default action, an accessible selection, then a real click on it. The value is READ BACK afterwards, so a route that runs and changes nothing is reported rather than believed.

Args: control_label: the combo's label. option: the option to choose, matched by name. dialog_title: which dialog, when several are open. list_only: report the options and change nothing.

Returns: {"ok": true, "value": ..., "how": ..., "was": ...}, or ok: false with offered listing what is there.

Input Schema

NameRequiredDescriptionDefault
optionYes
list_onlyNo
dialog_titleNo
control_labelYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: it discloses the three fallback routes (default action, accessible selection, real click), that the value is read back so no-op routes are reported rather than silently believed, and the failure shape with 'offered' options. This is exactly the behavioral context an agent needs for a fragile UI automation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is well front-loaded, but the paragraph about the tool having been 'readable and unsettled' and the metaphor about 'a property that reads and will not write' is historical justification that does not help an agent decide or call. The args and returns sections are useful; the middle prose is padding.

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?

For a 4-param UI mutation tool with no annotations, the description is thorough: it explains the attempt strategy, verification, and failure output. An output schema exists so return values needn't be spelled out, and the remaining gap is the absence of sibling routing guidance rather than missing behavior.

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 0%, so the description must compensate, and it documents all four parameters meaningfully: control_label as the combo's label, option matched by name, dialog_title to disambiguate multiple open dialogs, and list_only as report-without-change. This goes well beyond bare names, though it stops short of format examples for control_label/dialog_title matching.

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?

States a specific verb and resource: 'Choose an option in a combo box or drop list, and verify it.' This is clearly distinct from siblings like app_set_grid_cell or app_set_dialog_control, which act on different controls. An agent knows exactly what the tool accomplishes.

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 implied through the args (control_label, dialog_title, list_only) and the read-back guarantee, but there is no explicit guidance on when to prefer this over app_set_dialog_control or app_set_grid_cell, nor any stated preconditions. The caller must infer the selection context.

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

Deploy Server

Other Tools