
Android
This gives Claude direct control over Android devices and emulators through ADB's full API surface. You get 25 tools covering screenshots with automatic compression, UI hierarchy inspection with element bounds and IDs, touch automation (tap, swipe, scroll, type), logcat filtering by package or log level, and app lifecycle management (install, launch, pull files). The tap_and_wait compound action is clever: it taps an element, waits for UI to settle, and returns the new element tree in one round trip. Reach for this when you're debugging Android apps, documenting bugs with AI assistance, or automating UI testing workflows without modifying your app. It maintains a persistent ADB shell session and caches device info for faster execution across multiple commands.
- GitHub stars
- 46
- tools
- 25
- transport
- STDIO
- env var
- 1
- last updated
- Mar 17, 2026
Tools
25 toolsPublic tool metadata for what this MCP can expose to an agent.
list_devicesList connected Android devices and emulators
List connected Android devices and emulators
No parameter schema in public metadata yet.
list_avdsList available Android Virtual Devices
List available Android Virtual Devices
No parameter schema in public metadata yet.
start_emulatorStart an AVD by name (waits up to 60s)
Start an AVD by name (waits up to 60s)
No parameter schema in public metadata yet.
screenshotTake screenshot for visual analysis. Optional `save_path` to save to disk
Take screenshot for visual analysis. Optional `save_path` to save to disk
No parameter schema in public metadata yet.
get_ui_treeGet UI element hierarchy with bounds, text, resource IDs, and state
Get UI element hierarchy with bounds, text, resource IDs, and state
No parameter schema in public metadata yet.
tapTap at screen coordinates
Tap at screen coordinates
No parameter schema in public metadata yet.
tap_elementTap element by resource-id, text, or content-desc
Tap element by resource-id, text, or content-desc
No parameter schema in public metadata yet.
tap_and_waitTap element, wait for UI to settle, return new UI tree — single round trip
Tap element, wait for UI to settle, return new UI tree — single round trip
No parameter schema in public metadata yet.
long_pressLong press at coordinates (context menus, drag handles)
Long press at coordinates (context menus, drag handles)
No parameter schema in public metadata yet.
double_tapDouble tap at coordinates
Double tap at coordinates
No parameter schema in public metadata yet.
multi_tapTap the same coordinates N times with a fixed interval (spam tapping)
Tap the same coordinates N times with a fixed interval (spam tapping)
No parameter schema in public metadata yet.
tap_sequenceMulti-step action chain: taps, waits, text input, key presses, swipes in any order
Multi-step action chain: taps, waits, text input, key presses, swipes in any order
No parameter schema in public metadata yet.
type_textType text into focused input
Type text into focused input
No parameter schema in public metadata yet.
press_keyPress key (back, home, enter, tab, delete, menu, etc.)
Press key (back, home, enter, tab, delete, menu, etc.)
No parameter schema in public metadata yet.
swipeSwipe gesture between coordinates
Swipe gesture between coordinates
No parameter schema in public metadata yet.
scroll_to_elementScroll until element is visible
Scroll until element is visible
No parameter schema in public metadata yet.
wait_for_elementWait for element to appear (with timeout)
Wait for element to appear (with timeout)
No parameter schema in public metadata yet.
get_logsGet logcat output, filterable by package, log level, and time
Get logcat output, filterable by package, log level, and time
No parameter schema in public metadata yet.
clear_logsClear logcat buffer (call before reproducing a bug for clean output)
Clear logcat buffer (call before reproducing a bug for clean output)
No parameter schema in public metadata yet.
get_device_infoGet model, Android version, API level, screen size, DPI
Get model, Android version, API level, screen size, DPI
No parameter schema in public metadata yet.
launch_appLaunch app by package name
Launch app by package name
No parameter schema in public metadata yet.
install_apkInstall APK file
Install APK file
No parameter schema in public metadata yet.
get_current_activityGet foreground app and activity
Get foreground app and activity
No parameter schema in public metadata yet.
pull_filePull a file from the device to local filesystem
Pull a file from the device to local filesystem
No parameter schema in public metadata yet.
adb_shellRun arbitrary ADB shell command
Run arbitrary ADB shell command
No parameter schema in public metadata yet.
Sponsors
Configuration
ANDROID_HOMEPath to Android SDK (auto-detected on macOS at ~/Library/Android/sdk)
Readme
Android MCP Server
MCP server for controlling Android emulators and devices via ADB. Gives AI assistants the ability to see, interact with, and debug Android apps — taking screenshots, tapping elements, reading logs, and documenting bugs.
Details
- Repository
- github.com/martingeidobler/android-mcp-server
- Categories
- Automation & Workflows, Mobile Development
- Package
android-mcp-server- Transport
- STDIO
- Registry
- MCP registry, active