Skip to main content

android

android.close_app

Close App

Effects: send

Close an app on the Android device (safe method: HOME key + am kill). Never uses am force-stop (corrupts PackageManager). Example: 'com.whatsapp'.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
packagestringyesAndroid package name to close (e.g., 'com.whatsapp')

android.current_app

Get Current App

Effects: read

Get the currently focused app and activity on the Android device.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.

android.install_apk

Install APK

Effects: send

Install an app on the Android device from an APK or split bundle (XAPK/APKS — how most large modern apps ship). Provide apk_url (an https link the device downloads itself — preferred, and the only workable option for real apps) or, for tiny payloads, as apk_base64. Max 300MB. Large apps can take several minutes; if this call times out the install keeps running on the device — verify with the app-list tool instead of re-installing. Use reinstall=true to uninstall then install (for signature changes).

Arguments

ArgumentTypeRequiredDescription
apk_base64stringnoAPK as base64-encoded bytes. Only usable for tiny payloads (the whole blob is an LLM tool argument); prefer apk_url.
apk_urlstringnohttps URL of the APK — the server downloads it (preferred; the only practical option for real-sized apps).
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
packagestringnoExpected package name (for verification)
reinstallbooleannoUninstall first if package exists (for different signature). OMIT for a normal install (default false).

android.key

Send Key Event

Effects: send

Send a key event to the Android device. Use keycode (e.g., '3' for HOME, '4' for BACK) or common name (e.g., 'HOME').

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
codestringyesKey code: numeric (e.g., '3', '4') or common name (HOME, BACK, POWER, VOLUME_UP, VOLUME_DOWN, MENU, SEARCH, ENTER, DEL)

android.launch_app

Launch App

Effects: send

Launch an app on the Android device by package name. Example: 'com.whatsapp'. Returns success status and process ID if launched.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
packagestringyesAndroid package name to launch (e.g., 'com.whatsapp')

android.list_apps

List Apps

Effects: read

List installed apps on the Android device. By default returns third-party apps; use all=true for all apps.

Arguments

ArgumentTypeRequiredDescription
allbooleannoInclude system apps. OMIT for third-party only (default false).
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.

android.screenshot

Take Screenshot

Effects: read

Capture a screenshot from the Android device. Returns JPEG image data encoded as base64.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.

android.shell

Run Shell Command

Effects: read

Run an allowlisted shell command on the Android device. First element of cmd array must be allowlisted: input, pm, dumpsys, am, getprop, screencap, monkey, uiautomator, settings, wm, cmd, content, ls, cat, pidof, ps, echo, service.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
cmdstringyesShell command to run (array form preferred, space-separated accepted). Example: 'getprop ro.build.version.release' or ['getprop', 'ro.build.version.release']

android.swipe

Swipe Screen

Effects: send

Swipe/drag on the Android device screen from one coordinate to another. Use for scrolling, opening app drawer, etc.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
duration_msintegernoDuration of swipe in milliseconds (default: 300)
x1integeryesStarting X coordinate in device pixels
x2integeryesEnding X coordinate in device pixels
y1integeryesStarting Y coordinate in device pixels
y2integeryesEnding Y coordinate in device pixels

android.tap

Tap Screen

Effects: send

Tap on the Android device screen at specified coordinates. Coordinates are in device pixels.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
xintegeryesX coordinate in device pixels
yintegeryesY coordinate in device pixels

android.type

Type Text

Effects: send

Type text on the Android device keyboard.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.
textstringyesText to type (max 500.0)

android.ui_dump

Get UI Dump

Effects: read

Get UI structure dump from the Android device. Uses dumpsys (uiautomator OOM-kills on this build). Returns window list and focused activity for frame-based clicking.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegernoAndroid device channel_account ID. Omit when the workspace has a single Android device; REQUIRED when it has more than one (e.g. WhatsApp + LINE), else the call is rejected as ambiguous.