with one click
clawpaw-control
// 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.
// 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
打开飞书并完成考勤打卡(上班/下班),支持迟到补卡。用户说"帮我打卡"、"飞书签到"时使用。
Make the phone ring, vibrate, and flash to help locate it
| name | clawpaw-control |
| description | 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. |
Execute user instructions on the phone step by step using the ClawPaw MCP tools.
The MCP tools are available directly — no curl, no API calls needed.
snapshot — Get the UI element tree (text, resource IDs, bounds, clickable state)tap — Tap by coordinates OR by text/resourceId/contentDesclong_press — Long press at x/yswipe — Swipe by direction shortcut (up/down/left/right) or explicit coordinatestype_text — Type text into the focused field (supports Chinese, emoji)press_key — Press a key: home, back, enter, delete, wakeup, volume_up, volume_down, etc.screenshot — Take a screenshot (returns PNG image)battery — Battery level, charging state, temperaturelocation — GPS coordinatesnetwork — WiFi / mobile data statusstorage — Storage usagescreen_state — Screen on/off, lockedflashlight — Get or set flashlight. Use on=true to turn on, on=false to turn off, omit to get state. Never pass action — only on: boolean.volume — Get or set volume (stream: media/ring/alarm/notification, level: 0-15)brightness — Get or set screen brightness (level: 0-255)vibrate — Vibrate device (duration ms)ringtone_mode — Get or set ringer mode (silent/vibrate/normal)media_control — Control playback (action: play/pause/toggle/next/previous/stop)camera_snap — Take a photo (back/front camera)audio_record — Record audio (action: capture/start/stop)audio_status — Check if recording is in progresssensors — Read accelerometer, gyroscope, light, etc.If ADB commands fail (tap has no effect, snapshot empty), confirm:
shell → adb devices → should show device (not unauthorized)type_text with Chinese or emoji requires ADBKeyboard — standard IME cannot receive arbitrary Unicode via ADB.
Setup:
adb install ADBKeyboard.apk (download from GitHub: senzhk/ADBKeyBoard)shell tool → ime set com.android.adbkeyboard/.AdbIMEshell → ime list -s should include com.android.adbkeyboard/.AdbIMEIf type_text produces wrong output or does nothing, re-run step 3 to reactivate ADBKeyboard.
Always use snapshot before acting on the screen. It returns real device-pixel bounds — use those for all taps and interactions.
| Goal | Tool |
|---|---|
| Read screen content / find elements | snapshot |
| Tap / type / interact with elements | snapshot to get coords, then act |
| Verify a visual result after an action | screenshot |
| snapshot returns no useful elements (image, video, game) | screenshot as fallback |
Rules:
snapshot are accuratescreenshot unless: (a) user needs to see the screen visually, or (b) snapshot returned nothing usefulscreenshot is a fallback, not the default observation toolsnapshot — get element list with boundstap tool can match by text, resourceId, or contentDesc — use that when possible[left,top][right,bottom] → x=(left+right)/2, y=(top+bottom)/2For any user task:
press_key wakeuppress_key home + tap, or shell am start if needed1. shell (via adb): am start -a android.intent.action.SENDTO -d sms:<PHONE> --es sms_body <TEXT> --ez exit_on_sent true
2. snapshot → find send button by contentDesc="发送短信"
3. tap with contentDesc="发送短信" ← tap tool supports this directly
tap with text="<app name>" ← if visible on home screen
-- or --
press_key home, then tap the app icon
swipe with direction="up" ← scroll down (swipe up)
swipe with direction="down" ← scroll up (swipe down)
1. tap the input field (by text/resourceId)
2. type_text with the text to enter
| Symptom | Fix |
|---|---|
| Screen is black / screenshot all dark | press_key wakeup first |
| Tap has no effect | Use snapshot → tap by text or contentDesc instead of coordinates |
| Element not found by text | Try snapshot to see all visible elements and their exact text |
| Chinese / emoji not typed correctly | ADBKeyboard not active — run shell: ime set com.android.adbkeyboard/.AdbIME |
| type_text does nothing | ADBKeyboard not installed — see Prerequisites section above |
| ADB commands silently fail | Check adb devices — device may be unauthorized; reconnect USB and accept prompt |