double_tap
Double-taps at coordinates on the device screen
Drive real iOS and Android devices from an agent — tap, scroll, type, read the UI tree, install apps, several devices at once.
LABSCO SUMMARY
Screenshots alone force a model to guess at coordinates; the flat UI tree, searchable and leaf-ranked, means it can find the element and then tap it. The scripting tool is the escape hatch for sequences that would take a dozen round trips — a short UIAutomator or XCUITest snippet runs on the device in one call.
A device-automation server with an on-device driver on each phone — UIAutomator on Android, XCUITest on iOS — normalised behind one flat element model.
Node.js 18+ and the platform toolchain for whatever you are driving: the Android SDK with adb on PATH for Android, Xcode with xcrun and simctl for the iOS Simulator, and Xcode plus devicectl and iproxy for a real iOS device. Runs from npm as @srmorete/mobile-device-mcp over stdio; MDMS_PORT_ANDROID and MDMS_PORT_IOS set the base ports, assigned sequentially per device.
One command — npx -y @srmorete/mobile-device-mcp
USE CASES
List the devices, launch the app, read the element tree, and tap and type your way through the steps.
Take the screenshot and pull the UI tree for the same moment, so layout and structure can be compared.
Install the .apk or .ipa from the host, launch it, and force-stop it between runs.
Drive both devices in one session — the element model is the same shape on either platform.
Send a UIAutomator or XCUITest-style snippet to run in the on-device sandbox.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
double_tapDouble-taps at coordinates on the device screen
install_appInstalls an app on the device from a file on the host: .apk for Android, .app bundle for iOS simulator, .app or .ipa for iOS real device. Replaces existing installs.
launch_appLaunches an app on the device
list_appsLists installed apps on the device
list_devicesLists available mobile devices
long_pressLong-presses at coordinates on the device screen
press_buttonPresses a hardware/navigation button on the device
run_codeExecute test automation code on the device
screenshotTakes a screenshot of the device screen
scrollScrolls on the device screen from start to end coordinates
tapTaps at coordinates on the device screen
terminate_appTerminates an app on the device
type_textTypes text on the device
uitreeReturns the UI element tree of the device screen. Off-screen elements are excluded by default; pass include_invisible: true to keep them. With search, results are ranked leaf-first (visible, non-container, smaller area).
BEFORE YOU INSTALL
14 tools when we connected.
CONTEXT COST
Rated by the size of the 14 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"mobile-device-mcp": {
"command": "npx",
"args": [
"-y",
"@srmorete/mobile-device-mcp"
]
}
}
}npx -y @srmorete/mobile-device-mcp