saranshbamania avatar

Mobile Device Mcp

saranshbamania/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 tools

Public 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_KEYsecret

Google API key for AI visual analysis tools. Get a free key at aistudio.google.com/apikey

MOBILE_MCP_LICENSE_KEYsecret

Pro license key to unlock all 49 tools (format: MDMCP-XXXXX-XXXXX-XXXXX-XXXXX). Get Pro at rzp.io/rzp/r4ijQsJY

MCP_ADB_PATH

Custom path to ADB binary. Auto-detected from PATH if not set.

MCP_DEFAULT_DEVICE

Device serial number to use when multiple devices are connected. Auto-detected if only one device is connected.

Readme

mobile-device-mcp

mobile-device-mcp

npm version npm downloads GitHub stars License: BSL 1.1

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?


View the full README on GitHub

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

Related Mobile Development MCP servers

View all
1appium avatarAppiumappium/appium-mcpMCP Appium provides cross-platform mobile automation with intelligent locators, session management, and test generation.355stars
2minhalvp avatarAndroidminhalvp/android-mcp-serverAn MCP server that provides control over Android devices via adb750stars
3martingeidobler avatarAndroidmartingeidobler/android-mcp-serverControl Android devices and emulators via ADB — screenshots, UI automation, and logcat.46stars
4ethanackerman-git avatarPreflight Ios Mcpethanackerman-git/preflight57 tools for AI-powered iOS Simulator automation — tap, swipe, type, screenshots, and more.0stars
5rmathew1973 avatarIos Sim Mcprmathew1973/ios-sim-mcpDrive the iOS Simulator via semantic accessibility-tree snapshots. Sub-200ms, no WebDriverAgent.0stars
6cursortouch avatarAndroidcursortouch/android-mcpMCP Server for interacting with Android Devices.602stars