Skip to main content
Glama

Robot Actions — Remote Device Control

iOS unlock

ios_unlock

Wake the device with the keyboard Home key: it lights a dark display and clears a passcode-free Lock Screen without closing whatever app was open, so it is safe to call at ANY time — even on an already-awake device, since it never navigates away from the foreground. Needs NO automation session, because the automation runner itself cannot launch while the Lock Screen is frontmost. If that wake could not be sent at all (older iOS, or no active input channel), an alternate wake-and-swipe is used instead; dismissLockScreen additionally forces that alternate swipe for a caller who can see the Lock Screen is still showing (DANGER: this swipe goes to the Home screen on an already-unlocked device). The reply reports only what it can observe (display dark or lit); it cannot confirm whether a Lock Screen is still showing. A passcode is never bypassed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
udidYesiOS device UDID
dismissLockScreenNoForce an additional wake-and-swipe dismiss even when the keyboard wake was sent — set when you can see the Lock Screen is still showing. On an already-unlocked device this swipe goes to the Home screen.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / dismissLockScreen / description
      Previous value: -"Set when you can see the Lock Screen is showing; performs the swipe-up that dismisses a passcode-free Lock Screen — on an unlocked device this gesture goes to the Home screen."New value: +"Force an additional wake-and-swipe dismiss even when the keyboard wake was sent — set when you can see the Lock Screen is still showing. On an already-unlocked device this swipe goes to the Home screen."
  2. Changed1 schema field changed
    • addedInput schema / properties / dismissLockScreen
      Added value: +{
      +  "description": "Set when you can see the Lock Screen is showing; performs the swipe-up that dismisses a passcode-free Lock Screen — on an unlocked device this gesture goes to the Home screen.",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only flag it as non-read-only/non-destructive/non-idempotent; the description goes far beyond them, disclosing that it never closes the foreground app, that it works with no automation session, the internal fallback path, the DANGER of dismissLockScreen navigating to Home on an unlocked device, and that it never bypasses a passcode. This is exactly the behavioral context an agent needs for a mutation-adjacent 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?

Front-loads the core purpose (wake/safe-anytime) before the fallback and DANGER detail, and each clause adds distinct information. It is dense and long but not padded, which is justified by the tool's branching behavior.

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?

With no output schema, the description compensates by stating the reply's limits (reports only dark/lit display, cannot confirm Lock Screen state). Combined with the safety and fallback disclosure, an agent has everything needed to invoke it correctly.

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 schema documents udid and dismissLockScreen, but the description adds real meaning: it explains the purpose of dismissLockScreen, when to set it, and the DANGER of its side effect. That exceeds the baseline-3 credit for a fully covered 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?

States a specific verb+resource (wake the device / clear a passcode-free Lock Screen) and names the exact mechanism (keyboard Home key) and its scope. An agent can distinguish this from ios_lock_status, ios_press_button, or ios_key_hid without opening any schema.

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?

Gives explicit conditions: safe to call at ANY time, even on an already-awake device, and explains that it needs NO automation session. It also tells the caller when to set dismissLockScreen (when you can see the Lock Screen is still showing). It stops short of naming sibling tools as alternatives, so it is clear context rather than full routing.

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.

Resources