Screenshots, the UI tree, taps and logcat cost nothing and already close the loop mobile developers are missing — the agent sees the screen instead of waiting for you to paste a picture. What the licence buys is the layer above: naming an element in words instead of coordinates, and reading a Flutter widget tree back to its source location. Check the licence itself before commercial use.
A Node server that drives an Android device or emulator over ADB, plus iOS simulators on macOS. 14 tools are free; the rest — AI visual analysis, Flutter inspection, iOS simulators, video and test generation — need a Pro licence key.
- Free: devices, device and screen info, screenshots, the accessibility tree as JSON, taps, double taps, long presses, swipes, typing, key presses, installed and foreground apps, and filtered logcat — `list_devices`, `get_device_info`, `get_screen_size`, `take_screenshot`, `get_ui_elements`, `tap`, `double_tap`, `long_press`, `swipe`, `type_text`, `press_key`, `list_apps`, `get_current_app`, `get_logs`
- Pro, visual analysis: describe the screen, find an element by description, tap or type into it in one step, plan actions toward a goal, diff two screens, extract text, verify an assertion, wait for the screen to settle or an element to appear, dismiss popups, fill a form — `analyze_screen`, `find_element`, `smart_tap`, `smart_type`, `suggest_actions`, `visual_diff`, `extract_text`, `verify_screen`, `wait_for_settle`, `wait_for_element`, `handle_popup`, `fill_form`
- Pro, Flutter: connect to a running app over the Dart VM Service, read the widget tree, map every widget to its source location, screenshot one widget, toggle debug paint, hot reload and hot restart — `flutter_connect`, `flutter_get_widget_tree`, `flutter_find_widget`, `flutter_get_source_map`, `flutter_screenshot_widget`, `flutter_debug_paint`, `flutter_hot_reload`, `flutter_hot_restart`
- Pro, iOS simulators on macOS, screen recording, and test scripts generated from your tool calls in TypeScript, Python or JSON — `ios_list_simulators`, `ios_boot_simulator`, `ios_screenshot`, `record_screen`, `stop_recording`, `start_test_recording`, `stop_test_recording`, `get_recorded_actions`
- App management: launch, force stop, install an APK, uninstall — `launch_app`, `stop_app`, `install_app`, `uninstall_app`
Node.js 18+, ADB installed, and an Android device or emulator connected. Run it with `npx mobile-device-mcp`; nothing is installed globally. `GOOGLE_API_KEY` or `GEMINI_API_KEY` supplies Gemini vision for the AI tools, `ANTHROPIC_API_KEY` uses Claude instead, and `MOBILE_MCP_LICENSE_KEY` unlocks the Pro tools at ₹499/mo. `MCP_ADB_PATH` and `MCP_DEFAULT_DEVICE` override auto-detection; screenshots are tuned with `MCP_SCREENSHOT_FORMAT`, `MCP_SCREENSHOT_QUALITY` and `MCP_SCREENSHOT_MAX_WIDTH`. Licensed under Business Source License 1.1 — free for individuals and non-commercial use, commercial use requires a paid licence, converting to Apache 2.0 on March 23, 2030. iOS physical devices are on the roadmap, not shipped.
One command plus a key — npx mobile-device-mcp, then supply credentials
