ADB MCP Server
About
MCP Server for Android Debug Bridge (ADB), enabling Claude to interact with Android devices.
Explore
- List connected Android devices with details
- Install, uninstall, and manage APK packages
- Grant, revoke, and reset app permissions
- Push and pull files between computer and device
- Take screenshots and remove files on device
- Start activities and control ADB server processes
1. Install ADB:
Download Android SDK Platform Tools
Add ADB to your system PATH
Verify installation with adb version
2. Enable USB Debugging:
On Android device, go to Settings > About phone
Tap Build number 7 times to enable Developer options
Enable USB debugging in Developer options
``:shell
npm install
Add the following to your claude_desktop_config.json:
`:json``
{
"mcpServers": {
"adb": {
"command": "node",
"args": [
"-y",
"/path/to/mcp-server-adb/build/index.js",
"/path/to/adb"
]
}
}
}
Replace /path/to/adb with the actual path to your ADB executable.
showDetails
(boolean, default: true): Show device details (-l)
showPath
(boolean, default: false): Show the APK file path (-f)
showDisabled
(boolean, default: false): Show only disabled packages (-d)
showEnabled
(boolean, default: false): Show only enabled packages (-e)
showSystem
(boolean, default: false): Show only system packages (-s)
showThirdParty
(boolean, default: false): Show only third party packages (-3)
showInstaller
(boolean, default: false): Show package installer (-i)
includeUninstalled
(boolean, default: false): Include uninstalled packages (-u)
text
(string): Text to input
apkPath
(string): Path to the APK file
allowReinstall
(boolean, default: true): Allow reinstalling (-r)
allowTestPackages
(boolean, default: true): Allow test packages (-t)
allowDowngrade
(boolean, default: true): Allow downgrade (-d)
grantPermissions
(boolean, default: false): Grant all permissions (-g)
packageName
(string): Package name to uninstall
keepData
(boolean, default: false): Keep app data and cache (-k)
remotePath
(string): Path to file on device
localPath
(string): Local destination path
usePng
(boolean, default: true): Save as PNG (-p)
path
(string): Path to the file on device to remove
force
(boolean, default: false): Force removal (-f)
recursive
(boolean, default: false): Recursive removal (-r)
permission
(string): Permission to grant
component
(string): Component name
action
(string): Intent action
data
(string): Intent data URI
mimeType
(string): MIME type
category
(string[]): Intent categories
extras
(array): Intent extras
flags
(string[]): Intent flags
waitForLaunch
(boolean, default: false): Wait for launch (-W)
debuggable
(boolean, default: false): Debug mode (-D)
stopApp
(boolean, default: false): Force stop app (-S)
deviceId
(string, optional): Target specific device by ID
useUsb
(boolean, default: false): Target USB device (-d)
useEmulator
(boolean, default: false): Target emulator (-e)
1. get-devices
List connected Android devices
Optional inputs:
showDetails (boolean, default: true): Show device details (-l)
Returns: List of connected devices with their details
2. list-packages
List installed packages on the device
Optional inputs:
showPath (boolean, default: false): Show the APK file path (-f)
showDisabled (boolean, default: false): Show only disabled packages (-d)
showEnabled (boolean, default: false): Show only enabled packages (-e)
showSystem (boolean, default: false): Show only system packages (-s)
showThirdParty (boolean, default: false): Show only third party packages (-3)
showInstaller (boolean, default: false): Show package installer (-i)
includeUninstalled (boolean, default: false): Include uninstalled packages (-u)
Returns: List of packages based on specified filters
3. input-text
Input text to the device
Required inputs:
text (string): Text to input
Returns: Text input confirmation
4. install-apk
Install an APK file to the device
Required inputs:
apkPath (string): Path to the APK file
Optional inputs:
allowReinstall (boolean, default: true): Allow reinstalling (-r)
allowTestPackages (boolean, default: true): Allow test packages (-t)
allowDowngrade (boolean, default: true): Allow downgrade (-d)
grantPermissions (boolean, default: false): Grant all permissions (-g)
Returns: Installation result
5. uninstall-apk
Uninstall an application
Required inputs:
packageName (string): Package name to uninstall
Optional inputs:
keepData (boolean, default: false): Keep app data and cache (-k)
Returns: Uninstallation result
6. clear-app-data
Clear application data
Required inputs:
packageName (string): Package name to clear data
Returns: Operation result
7. pull
Pull a file from device
Required inputs:
remotePath (string): Path to file on device
Optional inputs:
localPath (string): Local destination path
Returns: File transfer result
8. push
Push a file to device
Required inputs:
localPath (string): Path to local file
remotePath (string): Destination path on device
Returns: File transfer result
9. screencap
Take a screenshot
Required inputs:
remotePath (string): Path on device where to save the screenshot (e.g., /sdcard/screenshot.png)
Optional inputs:
usePng (boolean, default: true): Save as PNG (-p)
Returns: Screenshot capture result
10. rm
Remove a file from the Android device
Required inputs:
path (string): Path to the file on device to remove
Optional inputs:
force (boolean, default: false): Force removal (-f)
recursive (boolean, default: false): Recursive removal (-r)
Returns: File removal result
11. reset-permissions
Reset all permissions for an app
Required inputs:
packageName (string): Target package name
Returns: Permission reset result
12. grant-permission
Grant a specific permission
Required inputs:
packageName (string): Target package name
permission (string): Permission to grant
Returns: Permission grant result
13. revoke-permission
Revoke a specific permission
Required inputs:
packageName (string): Target package name
permission (string): Permission to revoke
Returns: Permission revocation result
14. start-activity
Start an activity using am start
Optional inputs:
component (string): Component name
action (string): Intent action
data (string): Intent data URI
mimeType (string): MIME type
category (string[]): Intent categories
extras (array): Intent extras
flags (string[]): Intent flags
waitForLaunch (boolean, default: false): Wait for launch (-W)
debuggable (boolean, default: false): Debug mode (-D)
stopApp (boolean, default: false): Force stop app (-S)
Returns: Activity start result
15. kill-server
Kill the ADB server process
No inputs required
Returns: Success message or error
16. start-server
Start the ADB server process
No inputs required
Returns: Success message or error
17. help
Show ADB help information
No inputs required
Returns: ADB help text
All tools support these device selection parameters:
deviceId (string, optional): Target specific device by ID
useUsb (boolean, default: false): Target USB device (-d)
useEmulator (boolean, default: false): Target emulator (-e)
MCP Server for Android Debug Bridge (ADB), enabling Claude to interact with Android devices.
Tools
1. get-devices
List connected Android devices
Optional inputs:
showDetails (boolean, default: true): Show device details (-l)
Returns: List of connected devices with their details
2. list-packages
List installed packages on the device
Optional inputs:
showPath (boolean, default: false): Show the APK file path (-f)
showDisabled (boolean, default: false): Show only disabled packages (-d)
showEnabled (boolean, default: false): Show only enabled packages (-e)
showSystem (boolean, default: false): Show only system packages (-s)
showThirdParty (boolean, default: false): Show only third party packages (-3)
showInstaller (boolean, default: false): Show package installer (-i)
includeUninstalled (boolean, default: false): Include uninstalled packages (-u)
Returns: List of packages based on specified filters
3. input-text
Input text to the device
Required inputs:
text (string): Text to input
Returns: Text input confirmation
4. install-apk
Install an APK file to the device
Required inputs:
apkPath (string): Path to the APK file
Optional inputs:
allowReinstall (boolean, default: true): Allow reinstalling (-r)
allowTestPackages (boolean, default: true): Allow test packages (-t)
allowDowngrade (boolean, default: true): Allow downgrade (-d)
grantPermissions (boolean, default: false): Grant all permissions (-g)
Returns: Installation result
5. uninstall-apk
Uninstall an application
Required inputs:
packageName (string): Package name to uninstall
Optional inputs:
keepData (boolean, default: false): Keep app data and cache (-k)
Returns: Uninstallation result
6. clear-app-data
Clear application data
Required inputs:
packageName (string): Package name to clear data
Returns: Operation result
7. pull
Pull a file from device
Required inputs:
remotePath (string): Path to file on device
Optional inputs:
localPath (string): Local destination path
Returns: File transfer result
8. push
Push a file to device
Required inputs:
localPath (string): Path to local file
remotePath (string): Destination path on device
Returns: File transfer result
9. screencap
Take a screenshot
Required inputs:
remotePath (string): Path on device where to save the screenshot (e.g., /sdcard/screenshot.png)
Optional inputs:
usePng (boolean, default: true): Save as PNG (-p)
Returns: Screenshot capture result
10. rm
Remove a file from the Android device
Required inputs:
path (string): Path to the file on device to remove
Optional inputs:
force (boolean, default: false): Force removal (-f)
recursive (boolean, default: false): Recursive removal (-r)
Returns: File removal result
11. reset-permissions
Reset all permissions for an app
Required inputs:
packageName (string): Target package name
Returns: Permission reset result
12. grant-permission
Grant a specific permission
Required inputs:
packageName (string): Target package name
permission (string): Permission to grant
Returns: Permission grant result
13. revoke-permission
Revoke a specific permission
Required inputs:
packageName (string): Target package name
permission (string): Permission to revoke
Returns: Permission revocation result
14. start-activity
Start an activity using am start
Optional inputs:
component (string): Component name
action (string): Intent action
data (string): Intent data URI
mimeType (string): MIME type
category (string[]): Intent categories
extras (array): Intent extras
flags (string[]): Intent flags
waitForLaunch (boolean, default: false): Wait for launch (-W)
debuggable (boolean, default: false): Debug mode (-D)
stopApp (boolean, default: false): Force stop app (-S)
Returns: Activity start result
15. kill-server
Kill the ADB server process
No inputs required
Returns: Success message or error
16. start-server
Start the ADB server process
No inputs required
Returns: Success message or error
17. help
Show ADB help information
No inputs required
Returns: ADB help text
All tools support these device selection parameters:
deviceId (string, optional): Target specific device by ID
useUsb (boolean, default: false): Target USB device (-d)
useEmulator (boolean, default: false): Target emulator (-e)
Setup
1. Install ADB:
Download Android SDK Platform Tools
Add ADB to your system PATH
Verify installation with adb version
2. Enable USB Debugging:
On Android device, go to Settings > About phone
Tap Build number 7 times to enable Developer options
Enable USB debugging in Developer options
Install the Server
```:shell
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



