Skip to main content
Glama

batch_actions

Execute up to 64 mouse, keyboard, scroll, and wait actions in one call to reduce round-trips; stops at first failure and returns completed, failed, and skipped indices.

Instructions

Execute a sequence of input actions (mouse_move, left_click, right_click, double_click, scroll, key_combo, type_text, wait) in one call to reduce round-trips, at most 64 actions. Coordinates are in screenshot space. Stops at the first failure and returns completed indices/results, failed_index/reason, and a not_executed half-open range. The failed action may have partial side effects. No retry or rollback. Get fresh ax_read state before deciding what to retry; use a screenshot for visual outcomes.

Input Schema

NameRequiredDescriptionDefault
actionsYesUp to 64 ordered input actions. Larger batches are rejected before any action runs. Execution stops at the first failure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.3.0
    • changedInput schema / properties / actions / description
      Previous value: -"Ordered list of input actions to execute in a single call."New value: +"Up to 64 ordered input actions. Larger batches are rejected before any\naction runs. Execution stops at the first failure."
    • addedInput schema / properties / actions / maxItems
      Added value: +64
    • removedInput schema / title
      Removed value: -"BatchParams"
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

No annotations are provided, so the description bears the full behavioral burden. It discloses critical traits: at most 64 actions, stop-at-first-failure semantics, returned fields (completed indices/results, failed_index/reason, not_executed range), possible partial side effects, and no retry or rollback. This is unusually rich and directly useful for safe invocation.

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 with the core purpose and constraints, then proceeds to failure behavior and retry guidance. It is dense but every sentence adds information; no obvious padding. A minor reordering or break could improve scanability, but it is efficient.

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 complex batch tool with no output schema and no annotations, the description is remarkably complete. It explains what happens on failure, what is returned, and how to verify results before retrying. An agent has enough context to call and recover from this 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%, and the schema already documents the actions array, its maxItems limit, and the BatchAction variants. The description repeats the max of 64 and the action list, and adds that coordinates are in screenshot space, but this largely duplicates structured data. Baseline 3 is appropriate 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Execute a sequence of input actions'), lists the exact action types, and gives the core purpose ('in one call to reduce round-trips, at most 64 actions'). This clearly distinguishes batch_actions from the individual action siblings like left_click, mouse_move, and type_text that it aggregates.

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 provides clear context for use ('in one call to reduce round-trips') and post-failure guidance ('Get fresh ax_read state before deciding what to retry; use a screenshot for visual outcomes'). It does not explicitly state when not to use it (e.g., for a single action) or compare directly to the individual tools, so it stops short of full when/when-not guidance.

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