
Mobile Device Mcp
Connects Claude to Android and iOS devices through ADB and platform tools, exposing 49 operations for automated mobile testing and debugging. The free tier gives you screenshots, UI tree inspection, taps, swipes, and logcat access. Pro adds AI vision analysis through Claude and Gemini APIs, Flutter widget tree inspection via Dart VM Service, smart element finding with four-tier search, video recording, and test script generation in TypeScript and Python. Ships with a companion app that accelerates UI tree fetching by 23x. Runs via npx with zero global installation, automatically managing lifecycle through MCP. Built for developers who want AI assistants to interact with mobile apps the way Playwright works for web, eliminating the manual screenshot and describe loop.
- GitHub stars
- 1
- tools
- 49
- auth
- Secret needed
- transport
- STDIO
- env vars
- 4
- last updated
- Mar 23, 2026
Tools
49 toolsPublic tool metadata for what this MCP can expose to an agent.
list_devicesList all connected Android devices/emulators
List all connected Android devices/emulators
No parameter schema in public metadata yet.
get_device_infoModel, manufacturer, Android version, SDK level
Model, manufacturer, Android version, SDK level
No parameter schema in public metadata yet.
get_screen_sizeScreen resolution in pixels
Screen resolution in pixels
No parameter schema in public metadata yet.
take_screenshotCapture screenshot (PNG or JPEG, configurable quality & resize)
Capture screenshot (PNG or JPEG, configurable quality & resize)
No parameter schema in public metadata yet.
get_ui_elementsGet the accessibility/UI element tree as structured JSON
Get the accessibility/UI element tree as structured JSON
No parameter schema in public metadata yet.
tapTap at coordinates
Tap at coordinates
No parameter schema in public metadata yet.
double_tapDouble tap at coordinates
Double tap at coordinates
No parameter schema in public metadata yet.
long_pressLong press at coordinates
Long press at coordinates
No parameter schema in public metadata yet.
swipeSwipe between two points
Swipe between two points
No parameter schema in public metadata yet.
type_textType text into the focused field
Type text into the focused field
No parameter schema in public metadata yet.
press_keyPress a key (home, back, enter, volume, etc.)
Press a key (home, back, enter, volume, etc.)
No parameter schema in public metadata yet.
list_appsList installed apps
List installed apps
No parameter schema in public metadata yet.
get_current_appGet the foreground app
Get the foreground app
No parameter schema in public metadata yet.
get_logsGet logcat entries with filtering
Get logcat entries with filtering
No parameter schema in public metadata yet.
analyze_screenAI describes the screen: app name, screen type, interactive elements, visible text, suggestions
AI describes the screen: app name, screen type, interactive elements, visible text, suggestions
No parameter schema in public metadata yet.
find_elementFind a UI element by description
Find a UI element by description
No parameter schema in public metadata yet.
smart_tapFind an element by description and tap it in one step
Find an element by description and tap it in one step
No parameter schema in public metadata yet.
smart_typeFind an input field by description, focus it, and type text
Find an input field by description, focus it, and type text
No parameter schema in public metadata yet.
suggest_actionsPlan actions to achieve a goal
Plan actions to achieve a goal
No parameter schema in public metadata yet.
visual_diffCompare current screen with a previous screenshot -- what changed?
Compare current screen with a previous screenshot -- what changed?
No parameter schema in public metadata yet.
extract_textExtract all visible text from the screen (AI-powered OCR)
Extract all visible text from the screen (AI-powered OCR)
No parameter schema in public metadata yet.
verify_screenVerify an assertion about the screen
Verify an assertion about the screen
No parameter schema in public metadata yet.
wait_for_settleWait until the screen stops changing
Wait until the screen stops changing
No parameter schema in public metadata yet.
wait_for_elementWait for a specific element to appear on screen
Wait for a specific element to appear on screen
No parameter schema in public metadata yet.
handle_popupDetect and dismiss popups, dialogs, permission prompts
Detect and dismiss popups, dialogs, permission prompts
No parameter schema in public metadata yet.
fill_formFill multiple form fields in one step
Fill multiple form fields in one step
No parameter schema in public metadata yet.
flutter_connectDiscover and connect to a running Flutter app on the device
Discover and connect to a running Flutter app on the device
No parameter schema in public metadata yet.
flutter_disconnectDisconnect from the Flutter app and clean up resources
Disconnect from the Flutter app and clean up resources
No parameter schema in public metadata yet.
flutter_get_widget_treeGet the full widget tree (summary or detailed)
Get the full widget tree (summary or detailed)
No parameter schema in public metadata yet.
flutter_get_widget_detailsGet detailed properties of a specific widget by ID
Get detailed properties of a specific widget by ID
No parameter schema in public metadata yet.
flutter_find_widgetSearch the widget tree by type, text, or description
Search the widget tree by type, text, or description
No parameter schema in public metadata yet.
flutter_get_source_mapMap every widget to its source code location (file:line:column)
Map every widget to its source code location (file:line:column)
No parameter schema in public metadata yet.
flutter_screenshot_widgetScreenshot a specific widget in isolation
Screenshot a specific widget in isolation
No parameter schema in public metadata yet.
flutter_debug_paintToggle debug paint overlay (shows widget boundaries & padding)
Toggle debug paint overlay (shows widget boundaries & padding)
No parameter schema in public metadata yet.
flutter_hot_reloadHot reload Flutter app (preserves state)
Hot reload Flutter app (preserves state)
No parameter schema in public metadata yet.
flutter_hot_restartHot restart Flutter app (resets state)
Hot restart Flutter app (resets state)
No parameter schema in public metadata yet.
ios_list_simulatorsList available iOS simulators
List available iOS simulators
No parameter schema in public metadata yet.
ios_boot_simulatorBoot a simulator by name or UDID
Boot a simulator by name or UDID
No parameter schema in public metadata yet.
ios_shutdown_simulatorShut down a running simulator
Shut down a running simulator
No parameter schema in public metadata yet.
ios_screenshotTake a screenshot of a simulator
Take a screenshot of a simulator
No parameter schema in public metadata yet.
record_screenStart recording the device screen
Start recording the device screen
No parameter schema in public metadata yet.
stop_recordingStop recording and save the video
Stop recording and save the video
No parameter schema in public metadata yet.
start_test_recordingStart recording your MCP tool calls
Start recording your MCP tool calls
No parameter schema in public metadata yet.
stop_test_recordingStop recording and generate a test script
Stop recording and generate a test script
No parameter schema in public metadata yet.
get_recorded_actionsGet recorded actions as TypeScript, Python, or JSON
Get recorded actions as TypeScript, Python, or JSON
No parameter schema in public metadata yet.
launch_appLaunch an app by package name
Launch an app by package name
No parameter schema in public metadata yet.
stop_appForce stop an app
Force stop an app
No parameter schema in public metadata yet.
install_appInstall an APK
Install an APK
No parameter schema in public metadata yet.
uninstall_appUninstall an app
Uninstall an app
No parameter schema in public metadata yet.
Sponsors
Configuration
GOOGLE_API_KEYsecretGoogle API key for AI visual analysis tools. Get a free key at aistudio.google.com/apikey
MOBILE_MCP_LICENSE_KEYsecretPro license key to unlock all 49 tools (format: MDMCP-XXXXX-XXXXX-XXXXX-XXXXX). Get Pro at rzp.io/rzp/r4ijQsJY
MCP_ADB_PATHCustom path to ADB binary. Auto-detected from PATH if not set.
MCP_DEFAULT_DEVICEDevice serial number to use when multiple devices are connected. Auto-detected if only one device is connected.
Readme
mobile-device-mcp
mobile-device-mcp
MCP server that gives AI coding assistants (Claude Code, Cursor, Windsurf) the ability to see and interact with mobile devices. 49 tools for screenshots, UI inspection, touch interaction, AI-powered visual analysis, Flutter widget tree inspection, video recording, and test generation.
AI assistants can read your code but can't see your phone. This fixes that.
Why This One?
Details
- Repository
- github.com/saranshbamania/mobile-device-mcp
- Categories
- Mobile Development, Media & Entertainment
- Package
mobile-device-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active