Skip to main content
Glama

Choose from a list

cotlet_browser_select
Destructive

Chooses option (its label as listed, or its value) in drop-down element. For a home-made drop-down, click it, then click the option. Answers the page after it: the elements and text in view, with the same numbers.

Input Schema

NameRequiredDescriptionDefault
appNoLeave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.
dialogNoHow to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.
optionYesThe option.
elementYesThe element's number from the last read or step answer.
dialog_textNoText for a prompt dialog this step opens; implies accept.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / app / description
      Previous value: -"Slug of a connected app, e.g. milanote: the step runs in that app's Cloud Browser, signed in as the user and kept to the app's site. Leave it out for the user's web browser, also for an app without its own Cloud Browser."New value: +"Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote."
    • changedInput schema / properties / element / description
      Previous value: -"The element's number in the element list of the current page."New value: +"The element's number from the last read or step answer."
  2. Changed2 schema fields changed
    • addedInput schema / properties / dialog
      Added value: +{
      +  "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
      +  "enum": [
      +    "accept",
      +    "dismiss"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / dialog_text
      Added value: +{
      +  "description": "Text for a prompt dialog this step opens; implies accept.",
      +  "maxLength": 1000,
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / app / description
      Previous value: -"Slug of a connected app, e.g. milanote: the step runs in that app's Cloud Browser, signed in as the user and kept to the app's site. Leave it out for the user's web browser."New value: +"Slug of a connected app, e.g. milanote: the step runs in that app's Cloud Browser, signed in as the user and kept to the app's site. Leave it out for the user's web browser, also for an app without its own Cloud Browser."
  4. Changed1 schema field changed
    • changedInput schema / properties / app / description
      Previous value: -"Slug of an app the user enabled for agents, e.g. milanote: the step runs in that app's Cloud Browser, signed in as the user and kept to the app's site. Leave it out for the user's web browser."New value: +"Slug of a connected app, e.g. milanote: the step runs in that app's Cloud Browser, signed in as the user and kept to the app's site. Leave it out for the user's web browser."
  5. Added

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds genuinely new behavior: it answers with the page's elements and text after acting, with numbering preserved. It does not explain what might be destroyed (e.g., a change/selection event that submits a form), which matters given destructiveHint=true.

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?

Two short sentences with zero filler, front-loading the action and its accepted inputs before covering the fallback and the post-action result. Every clause carries information.

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?

With five parameters, no output schema and rich annotations, the description covers the core action, the fallback path and the return payload (page read-back), while the app/dialog/dialog_text parameters are fully documented in the schema itself. Minor gap: it does not say what page change the selection triggers, relevant given the destructive flag.

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 100%, so the baseline is 3, but the description adds meaning the schema lacks: 'option' may be supplied as the visible label OR the underlying value (schema only says 'The option.'). 'element' semantics are already fully spelled out in the schema, so no further credit there.

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?

States a specific verb ('Chooses') and resource ('option' in drop-down 'element') and clarifies the accepted option formats, which is clearer than the generic title 'Choose from a list'. The 'home-made drop-down' sentence gestures at the click-based alternative but never names cotlet_browser_click as the sibling to use.

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?

Implies the native-select case directly and hints that non-native drop-downs are handled by clicking instead, which is useful conditional guidance. However, it never states explicitly whether that fallback is performed by this tool or by the agent using cotlet_browser_click, and there are no exclusions or preconditions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.