Skip to main content
Glama

safari_select_option

Select an option from native dropdown menus by setting value and dispatching change events. Supports iframe/shadow DOM via ref, or CSS selector for top-level documents.

Instructions

Select an option in a native dropdown. Sets .value and dispatches change event. Pass ref (from safari_snapshot) for a select inside an iframe or shadow DOM — a plain selector only reaches the top document. For custom dropdowns (React/LinkedIn), use safari_click on the dropdown trigger, then safari_click on the option instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoRef ID from safari_snapshot — required for selects inside iframes/shadow DOM
valueYesOption value or visible label to select
receiptNoTab receipt from safari_new_tab — pins this call to that tab (survives reconnects/subagents)
selectorNoCSS selector of the select (top document only)

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv2.18.1
    • addedInput schema / properties / receipt
      Added value: +{
      +  "description": "Tab receipt from safari_new_tab — pins this call to that tab (survives reconnects/subagents)",
      +  "type": "string"
      +}
  2. Addedv2.11.6
  3. Removedv2.11.3
  4. Addedv2.10.9
  5. Removedv2.10.8
  6. Addedv2.10.5
  7. Removedv2.10.4
  8. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries full behavioral burden. It discloses the internal mechanics: 'Sets .value and dispatches change event,' and the scope limitation 'a plain `selector` only reaches the top document.' It does not mention error handling or return behavior, but is specific enough for an action tool.

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

Conciseness4/5

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

The description is a compact paragraph of four sentences, each earning its place: purpose, behavior, ref/selector distinction, and custom-dropdown alternative. It is front-loaded with the core action and teases out edge cases without unnecessary fluff.

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 an action with 4 parameters and no output schema, the description covers the essential context: what the operation does, how values are matched, when ref is required, and when to use a different tool. It is not exhaustive (no failure behavior or return values), 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 coverage is 100%, so baseline is 3. The description adds meaningful semantics beyond the schema: it clarifies that `ref` enables iframe/shadow DOM access while `selector` is top-document only, and notes that `value` accepts either 'Option value or visible label'. This helps the agent choose between ref and selector.

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?

Description states the specific action: 'Select an option in a native <select> dropdown.' It clearly distinguishes from custom dropdowns by naming safari_click as the alternative, and from react_select_set by limiting scope to native selects.

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?

Provides explicit when-to-use: for native <select> elements. It also gives alternatives: 'use safari_click on the dropdown trigger, then safari_click on the option instead' for custom dropdowns. The iframe/shadow DOM guidance tells when to use ref vs selector.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/achiya-automation/safari-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server