Skip to main content
Glama

run

Destructive

Give phones a task. Clousd's agent looks at the screen, taps and types until the goal is reached, and finishes with an answer. Several devices = the same task on each, all at once (one run per phone under one parent). Returns the run with its status; if it is still going, follow it with run_status. A run in mode=ask may stop with waiting_for: reply with answer. Logins: never ask the user for passwords - pass credentials; their values are typed on the phone without you or the model seeing them. A task that needs a file (post this photo, fill this form from this PDF, install this app): upload it once with the library tool and pass its id in files - do not push files by hand each time.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "task": "<task>",
      "devices": "<devices>"
    },
    "name": "run"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNoauto (default): works without stopping; ask: asks before risky steps (answer them)auto
taskYesthe goal in plain words, e.g. "Open Settings and tell me the Android version" or "Sign in to the app with the saved login and open the profile"
filesNoLibrary files to put on the phone before the task: ids from the library tool, comma-separated (up to 8). Photos and videos land in the gallery, documents in Downloads, apks are installed; the agent is told where each one is
devicesYesone device or several: names, labels or numbers, comma-separated or a JSON list (up to 32)
max_stepsNostep limit, default 100
credentialsNosaved logins to use: "package/name" items, comma-separated, from the credentials tool
wait_secondsNowait up to this long for the result, 0..50
output_schemaNooptional JSON Schema: the answer also comes back as structured_output in this shape

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the annotations (destructive, openWorld, non-idempotent), the description discloses that multiple devices fan out to one run per phone under a parent, that runs can return mid-flight with a status, and that ask mode blocks on risky steps. It also adds an important security property — credential values are typed on the phone without the model seeing them. It stops short of discussing cost, failure modes, or what a destructive action on a device implies, which is why it is not a 5.

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 core action and the multi-device behavior are front-loaded, and each subsequent sentence covers a distinct concern (follow-up, ask mode, logins, files). It is somewhat dense with parenthetical examples ('post this photo, fill this form from this PDF, install this app') and the closing 'do not push files by hand each time' restates the prior clause, but no sentence is wasted.

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 an 8-parameter, destructive, open-world tool with an output schema present, the description covers the essential operational contract: what happens on the phone, how multiple devices behave, how to follow up, how to answer prompts, and how credentials and files are handled. Since an output schema exists, it does not need to explain return values, and the only gap is any note on concurrency limits or failure handling at scale.

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 genuine meaning: credentials values are never exposed to the model, and files must be library ids uploaded once rather than per-run pushes. These clarify the intent of two high-risk parameters beyond their schema text. The remaining parameters (max_steps, wait_seconds, output_schema) are left entirely to the schema.

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 names a concrete verb and resource ('Give phones a task') and then spells out the mechanism: the agent 'looks at the screen, taps and types until the goal is reached, and finishes with an answer.' It also disambiguates from siblings by naming run_status, the library tool, and the credentials tool, so an agent can place it precisely in the toolset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing guidance is given: use run_status to follow a run that is 'still going,' reply with answer when a mode=ask run returns waiting_for, upload files once via the library tool instead of pushing them by hand, and pass credentials rather than asking the user for passwords. Each alternative sibling is named alongside the condition that selects it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.