act
Do one thing on the phone yourself, then wait until the screen settles. Prefer element numbers from observe over
coordinates; tap_text taps the element whose text contains text. Typing goes into the focused field (tap it first)
and works in any language. "the screen did not change" means the action probably missed - observe again.
Read without touching the screen: installed (apps), notifications (the shade), clipboard, app_info (version,
installer, running), crashes (recent app crashes and ANRs), health (running, booted, network exit, last check).
For a whole goal, prefer run: it does all the steps for you.
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": {
"device": "<device>",
"action": "<action>"
},
"name": "act"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | x in screenshot pixels (tap, long_press, swipe start) | |
| y | No | y in screenshot pixels | |
| ms | No | swipe / long_press duration in ms | |
| x2 | No | swipe end x | |
| y2 | No | swipe end y | |
| text | No | type: the text; key: home|back|recents|enter|tab|del|menu; scroll: down|up; open_app/close_app/app_info/crashes: package; open_url: https://...; tap_text/wait_text: text on screen; settings: wifi|bluetooth|display|sound|apps|location|about|battery|...; intent: a URI to view (geo:, tel:, https:...) or JSON {action,data,package,component,extras}; clipboard_set: the text | |
| action | Yes | one of: tap long_press swipe scroll tap_text wait_text type key open_app close_app open_url intent settings clipboard_set notifications_open notifications_close notifications_clear | read: installed notifications clipboard app_info crashes health | |
| device | Yes | Device from devices: its name, its label from the dashboard (e.g. "Pixel 7 #3") or its number | |
| element | No | element number from the last observe (tap, long_press) | |
| timeout | No | wait_text: seconds to wait, up to 120 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |