Skip to main content
Glama
lhwlhw0829-cmd

claude-background-control

click_element

Destructive

Press buttons or links, or focus text fields by id or label in macOS apps. Uses accessibility actions, then a real click fallback, without moving the mouse or stealing focus from background apps.

Instructions

Press a button/link or focus a text field by id or label. Uses accessibility actions (no mouse movement) and falls back to a real click at the element center.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoElement id from inspect, e.g. "1.3.2"
appNoProcess name, e.g. "TextEdit". Defaults to the frontmost app. Works on background apps.
roleNoRole to match, e.g. "AXButton". Alone, it must match exactly one element.
labelNoElement name/description/value to match (used when id is not given)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and non-idempotent, and the description adds genuine behavioral context beyond them: accessibility actions without mouse movement with a fallback to a real click at the element center. It does not explain what makes the operation destructive or what state it changes, but the mechanism disclosure is substantive.

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 tight sentences, front-loaded with the action and its target set, followed by the implementation/fallback note. No filler or repetition.

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?

Covers mechanism and fallback for a 4-parameter tool with no output schema, and annotations carry the safety profile. However, it leaves the destructive flag unexplained and omits selection guidance against the many siblings in this UI-automation family, so it is adequate rather than complete.

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 the schema already documents id, app, role, and label with examples. The description only restates the id-or-label addressing ('by id or label') and adds no semantics the schema lacks, which matches the baseline 3 when the schema does the heavy lifting.

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 (press/focus) and resource (button/link/text field) and the addressing mechanism (id or label). It is clear what the tool does, but it never distinguishes itself from the sibling 'click' or 'set_value', so an agent cannot tell from the text alone why it would pick this one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative is named. The presence of a sibling 'click' tool makes this omission material — the description gives no condition for choosing click_element over click, nor for using set_value instead of focusing a text field.

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