Skip to main content
Glama

Ui Menu Bar Click

ui_menu_bar_click
Destructive

Clicks a status-bar item (menu bar extra / NSStatusItem, the icons at the right of the menu bar) and optionally follows a nested menu path. It does NOT click an application's own menu-bar commands (File, Edit, View…): for those use ui_find_element + ui_click or ui_keystroke. Best-effort via the app's AX extras menu bar; apps that render fully custom (non-AX) menus may not be reachable (fall back to ui_click at known coords). Requires Accessibility permission.

Input Schema

NameRequiredDescriptionDefault
pathNoNested menu path, e.g. ["App","Settings…"].
labelNoStatus item / menu item title.
app_bundle_idNoOwner of the status item.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true. The description adds useful behavioral context beyond that: it is best-effort via the app's AX extras menu bar, some custom menus may be unreachable, fallback to ui_click at known coordinates is suggested, and Accessibility permission is required. It does not detail what destructive action may result from the click, but the annotations cover the safety profile.

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?

The description is front-loaded with the core action, then concisely covers exclusions, alternatives, limitations, fallback, and permissions. Every sentence adds useful information with no wasted prose.

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

Completeness5/5

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

For a best-effort UI automation tool with no output schema and fully documented parameters, the description provides enough context: scope, exclusions, alternatives, reliability caveats, fallback strategy, and permission requirements. An agent has what it needs to select and invoke the tool correctly.

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 description coverage is 100%, so all three parameters (path, label, app_bundle_id) are already documented in the schema. The description mentions a nested menu path and status-bar item but does not add syntax or format details beyond what the schema provides, so baseline 3 is appropriate.

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?

The description uses a specific verb and resource: it clicks a status-bar item / NSStatusItem and optionally follows a nested menu path. It explicitly distinguishes this from an application's own menu-bar commands (File, Edit, View) and routes those to ui_find_element + ui_click or ui_keystroke, so an agent can differentiate it from siblings.

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?

It states exactly when to use this tool (status-bar items and menu bar extras) and when not to use it (application menu commands), naming the alternative tools to use instead. It also provides fallback guidance for custom non-AX menus.

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.

Resources