servers / adb-mcp-server
adb-mcp-server
communityunknownpythondestructive capablehealthy
A server implementation for handling ADB (Android Debug Bridge) communications using the Message Control Protocol (MCP)
01Tools · 21
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| adb_devices
get the list of connected android devices
Returns:
str: the list of connected android devices
| read | false | unknown |
| adb_start_server
start the adb server
Returns:
str: the result of adb start-server command
| read | false | unknown |
| adb_wait_for_device
wait for the android device to be connected
Args:
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of adb wait-for-device command
| read | false | unknown |
| adb_kill_server
kill the adb server
Returns:
str: the result of adb kill-server command
| destructive | true | true |
| adb_connect
connect to the android device by ip
Args:
ip: the ip address of android device
port: the port of android device, default is 5555
Returns:
str: the result of adb connect command
| read | false | unknown |
| cmd
run adb -s <sn> shell "cmd <command>" to android phone
cmd is another tool to get or control service informantion in the android
you can use "-l" to get the list of all available service to command.
you can use "<service>" to get the list of all available command for the service.
you can try "<service>", "<service> --help", "<service> help" to get the available commands for the specifed service. we can't guarantee all services provide help information.
Args:
command: a cmd subcommand to run. for example, "package". default command is "-l", to get cmd help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| dumpsys
run adb shell "dumpsys <command>" to android phone
dumpsys is a tool to get or control service informantion in the android
you can use "--help" to get the list of all available dumpsys commands.
you can use "-l" to get the list of all available services.
you can try "<service>, "<service> --help" or "<service> help" to get the available commands for the specifed service. we can't guarantee all services provide help information.
Args:
command (str): a dumpsys subcommand to run. for example, "activity". default command is "--help", to get dumpsys help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| settings
run adb shell "settings <command>" to android phone
settings is a tool to get or control system settings in the android
you can use "help" to get the list of all available settings commands.
Args:
command: a settings subcommand to run. for example, "list"; "get system screen_brightness"; default command is "help", to get settings help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| getprop
run adb shell "getprop <command>" to android phone
you can use "--help" to get the list of all available getprop commands.
Args:
command: a getprop subcommand to run. for example, "" to get all props; "ro.product.model" to get model value; default command is empty, to get all properties.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| dump_current_ui_hierarchy
dump of current UI hierarchy to check the UI element in the android phone
Args:
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the content of UI hierarchy, xml file type
| read | false | unknown |
| am
run adb shell "am <command>" to android phone
am is a tool to get or control activity manager informantion in the android
you can use "help" to get the list of all available am commands.
Args:
command : a am subcommand to run. for example, "start -n com.android.settings/.Settings"; "force-stop com.android.settings"; default command is help, to get am help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| input
run adb shell "input <command>" to android phone
Args:
command (str): a shell command to run. for example, "tap 100 200"; swipe 100 200 300 400; text hello world; keyevent KEYCODE_HOME; default command is empty, to get input help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| uiautomator
run adb shell "uiautomator <command>" to android phone
uiautomator is a tool to run uiautomator test in the android or create an XML dump of current UI hierarchy
you can use uiautomator help to get the list of all available uiautomator commands.
Args:
command : a uiautomator subcommand to run. for example, "uiautomator dump"; "uiautomator runtest /sdcard/test.jar"; default command is help, to get uiautomator help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| adb_shell
run adb shell command
Args:
command (str): a adb shell command to run. for example, 'input tap 100 200' is to run 'adb shell "input tap 100 200"'
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of adb shell command
| read | false | unknown |
| adb_disconnect
disconnect from the android device by ip and port
if ip is None, disconnect all devices
if only ip is provided, disconnect the device by ip on the port 5555
if ip and port provided, disconnect the device by ip and port
Args:
ip: the ip address of android device
port: the port of android device, default is 5555
Returns:
str: the result of adb disconnect command
| read | false | unknown |
| perfetto
run adb shell "perfetto <command>" to android phone
perfetto is a tool to get or control performance informantion in the android
you can use "-h" or "--help" to get the list of all available perfetto commands.
Args:
command : a perfetto subcommand to run. for example, "--help" to get help; default command is "-h", to get perfetto help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| logcat
run adb logcat <command> to android phone
logcat is a tool to get or control log informantion in the android
you can use logcat -h to get the list of all available logcat commands.
Args:
command : a logcat subcommand to run. for example, logcat -d to get log in not block mode; default command is -h to get logcat help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| adb_pull
use adb pull command to pull file from android phone
Args:
remote_file_path: the path of file in android phone
local_file_path: the path of file in local machine
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of adb pull command
| read | false | unknown |
| pm
run adb shell "pm <command>" to android phone
pm is a tool to get or control package manager informantion in the android
you can use "help" to get the list of all available pm commands.
Args:
command : a pm subcommand to run. for example, "list packages"; "install /sdcard/test.apk"; default command is help, to get pm help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
| adb_push
use adb push command to push file to android phone
Args:
local_file_path: the path of file in local machine
remote_file_path: the path of file in android phone
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of adb push command
| write | true | unknown |
| setprop
run adb shell "setprop <command>" to android phone
you can use "--help" to get the list of all available setprop commands.
Args:
command: a setprop subcommand to run. for example, "persist.sys.usb.config mtp" to set mtp value; default command is empty, to get setprop help information.
sn: android phone serial number which be connected to run command. default is empty, to connected default android phone.
Returns:
str: the result of command
| read | false | unknown |
02Install & source
uvx adb-mcp-server
uvxpip install adb-mcp-server
pip05Provenance & freshness
sourcesPyPI [p4]
last_checked2026-07-15 08:11Z
next_check2026-08-18 08:50Z
cadenceevery 48h
verifiedhandshake:failed metadata:passed metadata:passed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed metadata:passed metadata:passed
index_statusindex — 5 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/adb-mcp-server)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →