Skip to main content
Glama

Batch Commands

mobile_batch_commands
Destructive

Run multiple mobile automation steps in sequence with one call to fill forms or complete multi-step flows without repeated round-trips.

Instructions

Run multiple tools in sequence in a single call, e.g. click, type, click, type. Use this to fill forms or perform multi-step flows without round-trips. The device argument is applied to every step unless a step provides its own. Tools allowed as steps: get_more_tools, mobile_list_available_devices, mobile_login_to_cloud_provider, mobile_list_remote_devices, mobile_allocate_remote_device, mobile_release_remote_device, mobile_list_apps, mobile_get_foreground_app, mobile_launch_app, mobile_terminate_app, mobile_clear_app_data, mobile_install_app, mobile_uninstall_app, mobile_get_screen_size, mobile_click_on_screen_at_coordinates, mobile_double_tap_on_screen, mobile_long_press_on_screen_at_coordinates, mobile_list_elements_on_screen, mobile_press_button, mobile_open_url, mobile_swipe_on_screen, mobile_type_keys, mobile_save_screenshot, mobile_set_orientation, mobile_fold_device, mobile_set_location, mobile_clipboard, mobile_get_device_logs, mobile_get_orientation, mobile_start_screen_recording, mobile_stop_screen_recording, mobile_list_crashes, mobile_get_crash.

Input Schema

NameRequiredDescriptionDefault
stepsYesTools to run, in order
deviceYesThe device identifier to use. Use mobile_list_available_devices to find which devices are available to you.
stopOnErrorNoStop at the first failing step. Defaults to true
listElementsAtEndNoRun mobile_list_elements_on_screen after the last step and include its result. Defaults to false

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, and the description adds real context beyond them: device inheritance ('applied to every step unless a step provides its own'), the stopOnError default, and the full allow-list of step tools. It does not warn that a batch of destructive steps cannot be rolled back, leaving a gap for a destructiveHint=true tool.

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?

Usage guidance is front-loaded in the first two sentences, and the long enumeration of permitted step tools is bulky but genuinely load-bearing — an agent cannot construct a valid step without it. The parenthetical example and the allow-list are both earning their place, though the list could be scoped more crisply.

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?

With no output schema, the description should say what comes back from a batch; it only hints via listElementsAtEnd ('include its result'). It otherwise covers required vs. optional behavior, defaults, and the step allow-list well enough for correct invocation.

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 the baseline is 3, but the description adds a semantic rule the schema does not encode: the top-level device is inherited by each step unless the step overrides it. The steps/allow-list relationship is also spelled out in prose.

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 ('Run multiple tools in sequence in a single call') and immediately gives a concrete example ('click, type, click, type'). The description makes clear this is an orchestrator/batch wrapper, which cleanly distinguishes it from every sibling, which are single-action tools.

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?

Explicitly says when to use it ('to fill forms or perform multi-step flows without round-trips'), which is a clear context cue. It stops short of stating when NOT to use it (e.g. prefer direct calls for a single action), so it falls just below the top band.

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