Skip to main content
Glama

ui_action

Destructive

Executes typed UI actions and assertions against live snapshots using exact selectors; ambiguous targets fail to keep automation steps precise.

Instructions

Perform a typed action or assertion. Use exact selectors from a live snapshot; ambiguous targets fail.

Input Schema

NameRequiredDescriptionDefault
stepYes
sessionIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=true, and openWorld=true, so the agent knows this is a mutating, open-world tool. The description adds the behavior that ambiguous targets fail, but it does not explain which actions are destructive, what side effects to expect, or whether assertions are safe read operations.

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?

The description is front-loaded and only two sentences, both of which carry useful information. It is concise, though the term 'typed action' is somewhat opaque given the schema's action enum.

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?

For a complex, destructive UI automation tool with a nested step schema, 22 actions, zero schema descriptions, and no output schema, the description is far too sparse. It omits parameter guidance, action semantics, side-effect expectations, and result behavior, leaving most of the tool's usage to inference.

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%, and the step object has many nested fields, a 22-value action enum, locator variants, timeoutMs, menuPath, and value. The description only hints that selectors must be exact; it does not explain the action values, when value is required, how locator fields differ, or what the top-level sessionId/step relationship means.

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 states a specific verb and domain: perform a typed UI action or assertion. It implicitly separates this from sibling tools like ui_snapshot, but it does not explicitly name alternatives or clarify the full action/assertion scope.

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?

It gives a useful prerequisite and failure condition: selectors must be exact and come from a live snapshot, and ambiguous targets fail. However, it does not say when to use this instead of ui_snapshot, ui_screenshot, or ui_menus, nor when it should not be used.

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