@wilsonbeam/openclaw-adb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| adb_list_devicesA | List all connected Android devices with their status and info |
| adb_shellC | Execute a shell command on the Android device |
| adb_device_infoB | Get detailed information about an Android device (model, brand, Android version, etc.) |
| adb_install_appB | Install an APK file on the device |
| adb_uninstall_appA | Uninstall an app from the device |
| adb_list_packagesC | List installed packages on the device |
| adb_push_fileA | Push a file from local machine to the Android device |
| adb_pull_fileA | Pull a file from the Android device to local machine |
| adb_start_activityB | Start an activity with the given intent |
| adb_force_stopB | Force stop an application |
| adb_clear_dataB | Clear all data for an application |
| adb_tapA | Tap on the screen at the specified coordinates |
| adb_swipeA | Swipe from one point to another on the screen |
| adb_long_pressB | Long press on the screen at the specified coordinates |
| adb_type_textA | Type text into the currently focused input field |
| adb_press_keyB | Press a key on the device (using Android keycode) |
| adb_screenshotA | Take a screenshot of the device screen and return as base64 PNG |
| adb_screen_sizeC | Get the screen dimensions of the device |
| adb_wakeB | Wake up the device screen |
| adb_press_homeA | Press the home button |
| adb_press_backB | Press the back button |
| adb_make_callC | Make a phone call to the specified number (dials immediately) |
| adb_dial_numberA | Open the dialer with a number (does not dial - user must press call) |
| adb_end_callA | End the current phone call |
| adb_send_smsA | Open SMS composer with a pre-filled message (user must press send) |
| adb_call_stateA | Get the current call state (idle, ringing, or offhook) |
| adb_answer_callB | Answer an incoming call |
| adb_unlockA | Unlock the device with password, PIN, pattern, or swipe. Pattern uses 3x3 grid numbered 0-8 (top-left to bottom-right), e.g., '0123' or '0147' for L-shape. |
| adb_is_lockedB | Check if the device screen is locked |
| adb_lockA | Lock the device screen |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Every tool has a clearly distinct purpose with detailed descriptions. Even related actions like make_call vs dial_number are unambiguously differentiated by their behavior, and press_key vs press_home/back are specific. No two tools appear to perform the same function.
The naming pattern is mostly consistent with the 'adb_' prefix followed by a verb and object (e.g., install_app, push_file, answer_call). However, a few names are noun phrases or queries (device_info, screen_size, call_state, is_locked), deviating from the verb-first style and creating minor inconsistency.
With 30 tools, this server exceeds the typical well-scoped range and crosses the 25+ threshold. While each tool has a distinct purpose, the large number can overwhelm agents and many could be consolidated via parameters, making the count feel excessive for most use cases.
The tool set covers a wide range of ADB operations including device management, app lifecycle, file transfer, UI automation, telephony, and locking. Notable omissions like reboot and logcat are not directly exposed, but the adb_shell tool allows these to be executed manually, so agents can work around these gaps effectively.