Skip to main content
Glama

mac_menu_command

Executes an app's menu bar command through accessibility traversal, enabling locale-safe automation of macOS menus.

Instructions

Run an app's menu bar command via accessibility traversal (locale-safe).

Input Schema

NameRequiredDescriptionDefault
appNo
commandNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the mechanism (accessibility traversal) and a behavioral trait (locale-safe), but omits key behavior: whether the app must be running/frontmost, accessibility permission requirements, what happens if the command isn't found, and whether this mutates app state with side effects.

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?

A single efficient sentence with the action front-loaded and no wasted clauses. It is arguably too terse given the undocumented parameters, but as written every word earns its place.

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

Completeness2/5

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

With two undocumented parameters, no annotations, no required-field declaration, and no output schema, the description needs to compensate and does not. It explains the mechanism but not how to construct a valid call or what the result looks like, leaving an agent to guess the menu path syntax.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters. The description only loosely gestures at 'app' and 'command' without specifying formats: is 'app' a bundle ID, process name, or display name? Is 'command' a menu path like 'File > Save', a single item, or a command ID? This is a critical gap for a traversal-based tool.

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 ('Run') and resource ('an app's menu bar command') plus the mechanism ('accessibility traversal'), which distinguishes it from siblings like mac_click or mac_key. It stops short of naming a sibling or contrasting, but the action is unambiguous.

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?

Usage is implied: invoke this to trigger a menu bar item rather than clicking a coordinate or sending keystrokes, and 'locale-safe' hints at when to prefer it. However, there is no explicit 'use this when... / use X instead when...' guidance, and no stated prerequisites such as accessibility permissions.

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