Skip to main content
Glama

safari_click

Click any element in Safari by reference, selector, text, or coordinates. Works on dynamic React and virtual DOM apps without moving the user's mouse.

Instructions

Click element. Use ref (from snapshot), selector, text, or x/y. Works on React/Airtable/virtual DOM apps via full PointerEvent+MouseEvent sequence + React Fiber fallback. Pure JS — never touches user's mouse. When using ref, always take a FRESH safari_snapshot first — refs expire after each new snapshot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNoX coordinate
yNoY coordinate
refNoRef ID from safari_snapshot (e.g. '0_5')
textNoVisible text to find and click
receiptNoTab receipt from safari_new_tab — pins this call to that tab (survives reconnects/subagents)
selectorNoCSS selector

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

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden, and it does well: it explains the synthetic PointerEvent+MouseEvent sequence, the React Fiber fallback, that it never moves the user's real mouse, and that refs expire after snapshots. It stops short of describing return behavior or side effects like navigation waits, but the disclosed mechanism is substantial.

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?

Three sentences, all information-dense: the action, the targeting flexibility, the technical behavior, and the critical ref-freshness caveat. Nothing is redundant or wasted, and the most important usage rule is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a click tool but has gaps: no mention of return value or confirmation (there's no output schema), no parameter precedence when multiple locators are given, and no routing guidance relative to the many click siblings. The schema covers parameters, but the description alone doesn't fully equip an agent to handle ambiguous or failing clicks.

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

Parameters3/5

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

Schema coverage is 100%, so all six parameters already have descriptions. The tool description adds some context by grouping the targeting modes (ref, selector, text, x/y) and warning about ref expiry, but it doesn't clarify precedence or interaction when multiple targeting params are supplied. Baseline 3 is appropriate.

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?

The description opens with a clear verb-resource pair ('Click element') and lists the four targeting modes (ref, selector, text, x/y). It also conveys a specific technical scope (React/Airtable/virtual DOM apps), but it doesn't explicitly name a sibling like native_click for contrast, so it falls short of a 5.

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 concrete usage guidance, especially the fresh-snapshot requirement for refs and the statement that it uses pure JS without touching the user's mouse. It does not explicitly state when to choose this over alternatives like safari_native_click or safari_click_and_read, so it lacks exclusions.

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