with one click
with one click
Execute user instructions on the phone via ClawPaw MCP tools. Use when a user wants to do something on the phone โ send a message, open an app, tap something, take a screenshot, etc.
Guide users through ClawPaw Android setup โ installing the APK, granting permissions, connecting SSH tunnel, and verifying the full LLM-to-phone control chain. Use when a user wants to set up ClawPaw, install the app, connect a new phone, or troubleshoot connection issues.
Check, install, and activate ADBKeyboard for full Unicode/Chinese/emoji text input
Location check-in with auto photo, geocoding, weather, and a generated caption
End-of-day report with trajectory timeline, dwell-time stats, and notification summary
ๆๅผ้ฃไนฆๅนถๅฎๆ่ๅคๆๅก๏ผไธ็ญ/ไธ็ญ๏ผ๏ผๆฏๆ่ฟๅฐ่กฅๅกใ็จๆท่ฏด"ๅธฎๆๆๅก"ใ"้ฃไนฆ็ญพๅฐ"ๆถไฝฟ็จใ
| name | find-phone |
| description | Make the phone ring, vibrate, and flash to help locate it |
| metadata | {"openclaw":{"emoji":"๐ฑ"}} |
When the user can't find their phone, trigger sound, vibration, and flashlight simultaneously to help locate it.
Query current volume levels so they can be restored later:
nodes({ action: "invoke", invokeCommand: "hardware.volume" })
Remember the returned values for each stream.
Execute these in quick succession:
Wake screen:
nodes({ action: "invoke", invokeCommand: "hardware.screenOn" })
Max volume:
nodes({ action: "invoke", invokeCommand: "hardware.volume", invokeParamsJson: '{"stream": "ring", "level": 100}' })
nodes({ action: "invoke", invokeCommand: "hardware.volume", invokeParamsJson: '{"stream": "media", "level": 100}' })
Flashlight on:
nodes({ action: "invoke", invokeCommand: "hardware.flashlight", invokeParamsJson: '{"on": true}' })
Sustained vibration:
nodes({ action: "invoke", invokeCommand: "hardware.vibrate", invokeParamsJson: '{"pattern": [0, 1000, 500, 1000, 500, 1000, 500, 1000]}' })
Call clawpaw_get_context to get the last known location, and tell the user:
After the user confirms they found the phone, restore previous settings:
Flashlight off:
nodes({ action: "invoke", invokeCommand: "hardware.flashlight", invokeParamsJson: '{"on": false}' })
Restore volume (use values from step 1):
nodes({ action: "invoke", invokeCommand: "hardware.volume", invokeParamsJson: '{"stream": "ring", "level": ORIGINAL}' })
nodes({ action: "invoke", invokeCommand: "hardware.volume", invokeParamsJson: '{"stream": "media", "level": ORIGINAL}' })
๐ฑ Helping you find your phone!
Activated: vibration + max volume + flashlight
๐ Last known location: [place] ([X] minutes ago)
Let me know when you've found it and I'll restore the volume settings.