
Mobile Device Mcp
io.github.saranshbamaniaPublished by GitHub account saranshbamaniav0.2.9Updated Oct 24, 2026
AI control of Android/iOS devices. Screenshots, UI tree, AI vision, Flutter, video. 49 tools.
Overview
A local MCP server that lets an AI coding assistant see and control Android devices and iOS simulators through screenshots, UI inspection, taps and typing.
- What you can do
- Take screenshots and inspect the device UI tree, including a faster companion-app path and logcat logs. Tap, type, send keys and find elements by description, with optional AI vision analysis, visual diffing and form filling. Inspect Flutter apps via the Dart VM Service: widget tree, source mapping, widget screenshots, debug paint, hot reload and hot restart. Manage apps: launch, stop, install and uninstall. Record the screen and generate test scripts in TypeScript, Python or JSON from recorded tool calls. List, boot, shut down and screenshot iOS simulators on macOS.
- When to use it
- Useful when an assistant needs to drive or verify a mobile app on a connected Android device or emulator, or a Flutter app, instead of relying on manually pasted screenshots. Also fits turning exploratory device interactions into reusable test scripts.
- Requirements
- Runs locally via npx, so Node.js 18 or newer is needed. Requires ADB and a connected Android device or emulator; iOS simulator tools need macOS and xcrun simctl. A Google API key (GOOGLE_API_KEY) is needed for AI vision tools, and an Anthropic key is mentioned for Claude vision. The Pro license key MOBILE_MCP_LICENSE_KEY unlocks the full tool set. Optional variables set the ADB path and default device.
Installation
In SourceWeft
- Open Mobile Device Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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?
The Problem
Web developers have browser DevTools, Playwright, and Puppeteer -- AI assistants can click around, take screenshots, and verify fixes. Mobile developers? They're stuck manually screenshotting, copying logs, and describing what's on screen. They're human middleware between the AI and the device.
What This Does
Quick Start
Install
No global install needed. Runs directly via npx.
Prerequisites
- Node.js 18+
- Android device/emulator connected via ADB
- ADB installed (Android SDK Platform Tools)
Setup (One-time, 30 seconds)
-
Get a Google AI key (free tier available): aistudio.google.com/apikey
-
Add
.mcp.jsonto your project root:
macOS / Linux:
Windows:
With Pro license key (after purchasing Pro):
macOS / Linux (Pro)
Windows (Pro)
- Open your AI coding assistant from that directory. That's it.
The server starts and stops automatically -- you never run it manually. Your AI assistant manages it as a background process via the MCP protocol.
Verify It Works
Claude Code: type /mcp -- you should see mobile-device: Connected
Cursor: check MCP panel in settings
Then just talk to your phone:
No test scripts. No manual screenshots. Just describe what you want in plain English.
Works with Any AI Coding Assistant
All use the same JSON config -- just put it in the right file for your editor.
Drop Into Any Project
Copy .mcp.json into any mobile project -- Flutter, React Native, Kotlin, Swift -- and your AI assistant gets device superpowers in that directory. No global install needed.
Free vs Pro
Free (14 tools) -- no license key needed
Pro (35 additional tools) -- ₹499/mo
Get Pro License -- unlock all 49 tools. After payment, you'll receive your license key via email within 1 hour. Add it to your .mcp.json:
AI Visual Analysis (12 tools)
Use AI vision (Claude or Gemini) to understand what's on screen.
Flutter Widget Tree (10 tools)
Connect to running Flutter apps via Dart VM Service Protocol. Maps every widget to its source code location (file:line).
iOS Simulator (4 tools)
macOS only. Control iOS simulators via xcrun simctl.
Video Recording (2 tools)
Test Generation (3 tools)
App Management (4 tools)
Performance
The server is optimized to minimize latency and AI token costs:
- 4-tier element search: companion app (instant) -> local text match (<1ms) -> cached AI -> fresh AI.
smart_tapis 35x faster than naive AI calls (205ms vs 7.6s). - Companion app: AccessibilityService-based Android app provides UI tree in 105ms (23x faster than UIAutomator's 2448ms). Auto-installs on first use.
- Screenshot compression: AI tools auto-compress to JPEG q=60, 400w -- 89% smaller (251KB -> 28KB) with zero AI quality loss.
- Parallel capture: Screenshot + UI tree fetched simultaneously via
Promise.all(). - TTL caching: 5-second cache avoids redundant ADB calls for rapid-fire tool usage.
Environment Variables
Architecture
Roadmap
- iOS physical device support
- Multi-device orchestration
- CI/CD integration
- Cloud device farm support
Tested On
- Devices: Pixel 8 (Android 16), Samsung Galaxy series, Android emulators
- Apps: Telegram, Instagram, Spotify, WhatsApp, YouTube, Chrome, Settings, and Flutter apps
- AI Providers: Google Gemini 2.5 Flash, Anthropic Claude
- Platforms: Windows 11, macOS (iOS simulators)
- Connection: USB and wireless ADB
License
- Free for individuals and non-commercial use
- Commercial use requires a paid license
- Converts to Apache 2.0 on March 23, 2030
See LICENSE for full terms.
Source: README.md at commit 0c753ba
Tools
0Version history
1- v0.2.9LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.