ADB MCP Server
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | List all connected Android devices and emulators, including their serial numbers, connection status, and details (product, model, device, transport). |
| connect_deviceA | Connect to an Android device over TCP/IP (Wi-Fi) using its IP address and optional port. |
| disconnect_deviceA | Disconnect from a previously connected TCP/IP (Wi-Fi) device. |
| get_device_stateB | Get the current state of a connected device (e.g. offline, bootloader, device). |
| reboot_deviceA | Reboot the connected device into different modes: system, bootloader, recovery, or sideload. |
| root_deviceA | Restart the adbd daemon on the device with root permissions. Note: Only works on userdebug/eng builds or rooted devices. |
| unroot_deviceA | Restart the adbd daemon on the device without root permissions (restores non-root privileges). |
| forward_portB | Forward socket connections from a local host port to a port on the connected device. |
| reverse_portA | Reverse socket connections from a port on the device to a port on the local host (critical for React Native bundler reverse tcp:8081). |
| list_forwardsA | List all active port forwarding connections from host to device. |
| list_reversesA | List all active reverse port connections from device to host. |
| install_appB | Install an APK from the host machine onto the connected device. |
| uninstall_appB | Uninstall an application package from the connected device. |
| list_packagesA | List all installed application packages on the device, with options to filter by name or package type. |
| clear_app_dataA | Delete all data associated with a package (resets app to clean state, clears cache). |
| force_stop_appB | Force stop all processes associated with the application package. |
| start_app_activityA | Launch an app or a specific activity on the device. If activity is not provided, launches the default launcher activity. |
| grant_permissionB | Grant a runtime permission to an application package on the device. |
| revoke_permissionA | Revoke a runtime permission from an application package on the device. |
| push_fileA | Copy a file or directory from the host machine to the connected device. |
| pull_fileA | Copy a file or directory from the connected device to the host machine. |
| get_logcatA | Dump a snapshot of recent system logs (logcat) with custom line limits and filter criteria. |
| clear_logcatA | Clear (flush) all current logcat buffers. Useful to run before a test to discard old irrelevant logs. |
| take_screenshotA | Capture the device screen. If savePath is provided, saves to the host machine. Otherwise, returns the image directly to the client as a renderable PNG image. |
| record_screenA | Record the device screen as an MP4 video for a given duration and save it to the host computer. |
| get_dumpsysB | Retrieve system diagnostic details (dumpsys) for a service or package. |
| get_propertiesA | Retrieve system property values (getprop) from the Android device. |
| set_mock_locationA | Set a mock GPS location (latitude and longitude) on the device. For emulators, this works directly. For physical devices, you must configure a Mock Location App in Developer Options first. |
| get_app_usageC | Retrieve app usage and screen time statistics from the device using the usagestats or batterystats services. |
| dump_ui_hierarchyA | Dump the current layout tree (UI hierarchy XML) of the screen using uiautomator. Highly useful for AI agents to inspect what UI elements are currently visible. |
| get_app_memoryB | Dump detailed RAM memory statistics (meminfo) for an app package name. |
| get_cpu_usageA | Retrieve current CPU load statistics from the device shell using dumpsys cpuinfo. |
| get_dbinfoA | Retrieve SQLite database statistics and diagnostics for running apps using dumpsys dbinfo. Optionally filter by application package. |
| query_sqliteA | Execute a SQL query/command on a SQLite database within an app's sandboxed data directory. Note: Only works on debuggable apps or rooted devices/emulators. |
| list_shared_preferencesA | List all Shared SharedPreferences (preferences XML files) inside an application sandbox. Requires a debuggable app or root. |
| get_shared_preferencesA | Retrieve and read the XML contents of a specific Shared Preferences file inside an app's sandbox. Requires a debuggable app or root. |
| send_keyeventA | Send a keyevent (hardware/system key simulation) to the device (e.g. BACK=4, HOME=3, POWER=26, APP_SWITCH=187). |
| tap_screenB | Tap the screen at specific X and Y coordinates. |
| swipe_screenA | Swipe from starting coordinates to ending coordinates, with an optional duration parameter to simulate drag actions. |
| type_textA | Type text into the currently focused input field. Automatically formats space characters for compatibility with the adb shell. |
| execute_raw_adbB | Execute an arbitrary ADB command by passing raw command-line arguments. Safe from shell injection on the host machine because arguments are passed as an array. |
| execute_shell_commandB | Execute an arbitrary shell command directly on the connected Android device. Allows full access to Android shell utilities (e.g., 'input keyevent 26', 'settings get global airplane_mode_on'). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abhinav7895/adb-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server