Labsco
MCP SERVER

Mobile Device MCP

by saranshbamania

Let a coding agent see and tap an Android device — screenshots, UI tree, taps by description, Flutter widget inspection and generated tests.

Mobile & App Store Release
Summary
The free half is enough to see whether it fits.

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.

What it is

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.

What you get
  • 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`
Requirements

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.

Setup effort

One command plus a key — npx mobile-device-mcp, then supply credentials