Skip to main content
Glama

Pick a menu item

amiga_ui_menu

Selects a menu item by path, such as 'Project/Save As', in the active or named window without using the mouse, then runs the chosen command.

Instructions

Choose a menu item by name, e.g. 'Project/Save As' or just 'Quit' if the name is unique, in the active window (or the one named). Works without moving the mouse or opening the menu on screen. The program then does whatever that item does. amiga_ui_list shows the menu paths.

Input Schema

NameRequiredDescriptionDefault
pathYesmenu path, e.g. 'Project/Save As'
windowNopart of the window title; default the active window

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.1
    • changedInput schema / properties / path / description
      Previous value: -"menu path"New value: +"menu path, e.g. 'Project/Save As'"
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds real context beyond them: the menu is operated invisibly, and 'The program then does whatever that item does' warns that consequences depend entirely on the chosen item, which usefully reinforces the non-idempotent, side-effecting nature. It stops short of saying what happens when a path is ambiguous or the item is disabled or missing.

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 short sentences, each with a distinct job: what to pass, the mouse-free behavior plus consequence, and the discovery alternative. Front-loaded with the action and example format, no filler.

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 a two-parameter, no-output-schema UI action with annotations present, the description covers syntax, scope, default window, invisibility, and the pointer to the listing tool. It lacks only edge-case behavior (unmatched path, duplicate names, disabled items) and any assertion about what is returned on success.

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, but the description adds genuine meaning: 'path' may be a full path or a bare leaf name when unique, which the schema's 'menu path' text does not convey; and 'window' defaults to the active window, matching the schema while clarifying default behavior. Ambiguity handling for duplicate names is still unspecified.

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?

States a specific verb and resource ('Choose a menu item by name'), gives concrete path syntax ('Project/Save As', bare 'Quit'), and scopes the target ('in the active window (or the one named)'). This clearly separates it from sibling pointer/click tools like amiga_ui_click or amiga_mouse.

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?

It explains when the tool applies (menu-driven actions, no mouse movement or visible menu needed) and routes discovery to the sibling 'amiga_ui_list shows the menu paths'. It does not state explicit exclusions, e.g., when to prefer amiga_ui_click instead, but the intended use case is unambiguous.

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