general MCP Server
MCP server for AI-powered mobile device control — 26 tools for screenshots, UI inspection, touch interaction, and AI visual analysis. Supports Anthropic Claude & Google Gemini.
Discovered via list:awesome-mcp-servers-punkpeye and last synced 3mo ago.
1. Install the package
npx -y mobile-device-mcp
2. Add to claude_desktop_config.json
{
"mcpServers": {
"mobile-device-mcp": {
"command": "npx",
"args": [
"mobile-device-mcp"
]
}
}
}Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
50-80%
Default device serial
~15
Tap at coordinates
Wait until the screen stops changing
Plan actions to achieve a goal: *"log into the app"*, *"add item to cart"*
Hot restart Flutter app (resets state)
Description
Java/TestNG only
Screen resolution in pixels
Toggle debug paint overlay (shows widget boundaries & padding)
Install an APK
`"png"` or `"jpeg"`
Get logcat entries with filtering
Get recorded actions as TypeScript, Python, or JSON
Force AI provider: `"anthropic"` or `"google"`
Map every widget to its source code location (file:line:column)
Take a screenshot of a simulator
Launch an app by package name
Uninstall an app
JPEG quality (1-100)
List installed apps
Disconnect from the Flutter app and clean up resources
Get the full widget tree (summary or detailed)
License key to unlock Pro tools
Search the widget tree by type, text, or description
Shut down a running simulator
Override AI model
Stop recording and save the video
AI describes the screen: app name, screen type, interactive elements, visible text, suggestions
What it does
Find an input field by description, focus it, and type text
Extract all visible text from the screen (AI-powered OCR)
Verify an assertion: *"the login was successful"*, *"error message is showing"*
mobile-device-mcp
Yes
Get the accessibility/UI element tree as structured JSON
Double tap at coordinates
Press a key (home, back, enter, volume, etc.)
Fill multiple form fields in one step
List available iOS simulators
Start recording your MCP tool calls
Model, manufacturer, Android version, SDK level
## 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 ``` Developer: "The login button doesn't work" Without this tool: With this tool: 1. Manually screenshot 1. AI calls take_screenshot -> sees the screen 2. Paste into AI chat 2. AI calls smart_tap("login button") -> taps it 3. AI guesses what's wrong 3. AI calls verify_screen("error message shown") -> sees result 4. Apply fix, rebuild 4. AI calls visual_diff -> confirms fix worked 5. Repeat 4-5 times 5. Done. ``` ## Quick Start ### Install ```bash npx mobile-device-mcp ``` No global install needed. Runs directly via npx. ### Prerequisites - Node.js 18+ - Android device/emulator connected via ADB - ADB installed ([Android SDK Platform Tools](https://developer.android.com/tools/releases/platform-tools)) ### Setup (One-time, 30 seconds) 1. **Get a Google AI key** (free tier available): [aistudio.google.com/apikey](https://aistudio.google.com/apikey) 2. **Add `.mcp.json` to your project root:** **macOS / Linux:** ```json { "mcpServers": { "mobile-device": { "type": "stdio", "command": "npx", "args": ["-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key" } } } } ``` **Windows:** ```json { "mcpServers": { "mobile-device": { "type": "stdio", "command": "cmd", "args": ["/c", "npx", "-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key" } } } } ``` **With Pro license key** (after [purchasing Pro](https://rzp.io/rzp/r4ijQsJY)): <details> <summary>macOS / Linux (Pro)</summary> ```json { "mcpServers": { "mobile-device": { "type": "stdio", "command": "npx", "args": ["-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key", "MOBILE_MCP_LICENSE_KEY": "MDMCP-XXXXX-XXXXX-XXXXX-XXXXX" } } } } ``` </details> <details> <summary>Windows (Pro)</summary> ```json { "mcpServers": { "mobile-device": { "type": "stdio", "command": "cmd", "args": ["/c", "npx", "-y", "mobile-device-mcp"], "env": { "GOOGLE_API_KEY": "your-google-api-key", "MOBILE_MCP_LICENSE_KEY": "MDMCP-XXXXX-XXXXX-XXXXX-XXXXX" } } } } ``` </details> 3. **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: ``` You: "Open my app, tap the login button, type [email protected] in the email field" AI: [takes screenshot -> sees the screen -> smart_tap("login button") -> smart_type("email field", "[email protected]")] You: "Find all the bugs on this screen" AI: [analyze_screen -> inspects layout, checks for overflow, missing labels, broken states] You: "Navigate to settings and verify dark mode works" AI: [smart_tap("settings") -> take_screenshot -> smart_tap("dark mode toggle") -> visual_diff -> reports result] ``` No test scripts. No manual screenshots. Just describe what you want in plain English. ### Works with Any AI Coding Assistant
Swipe between two points
Find a UI element by description: *"the login button"*, *"email input field"*
Wait for a specific element to appear on screen
Hot reload Flutter app (preserves state)
Start recording the device screen
Force stop an app
Custom ADB binary path
Get the foreground app
Compare current screen with a previous screenshot -- what changed?
Discover and connect to a running Flutter app on the device
Screenshot a specific widget in isolation
Boot a simulator by name or UDID
Stop recording and generate a test script
Anthropic API key for Claude vision
Resize screenshots to this max width
Capture screenshot (PNG or JPEG, configurable quality & resize)
`npx` (30 sec)
Free + Pro (₹499/mo)
Long press at coordinates
Get detailed properties of a specific widget by ID
Yes
List all connected Android devices/emulators
Type text into the focused field
Find an element by description and tap it in one step
Detect and dismiss popups, dialogs, permission prompts
Implementing and auditing GCP VPC firewall rules to enforce network segmentation, restrict ingress and egress traffic, apply hierarchical firewall policies across the organization, and monitor firewall rule effectiveness using VPC Flow Logs.
Auditing Google Cloud Platform IAM permissions to identify overly permissive bindings, primitive role usage, service account key proliferation, and cross-project access risks using gcloud CLI, Policy Analyzer, and IAM Recommender.
Configuring Google Cloud Identity-Aware Proxy (IAP) to enforce per-request identity verification for Compute Engine, App Engine, Cloud Run, and GKE services using access levels, context-aware policies, and programmatic access with service accounts.
Implement GCP Binary Authorization to enforce deploy-time security controls that ensure only trusted, attested container images are deployed to Google Kubernetes Engine and Cloud Run.
Sample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform
The secure gateway connecting AI agents to enterprise systems.
DecisionBox connects to your data warehouse, runs autonomous AI agents that write and execute SQL, and surfaces validated insights and actionable recommendations — without you asking a single question.
Learn how to use the cloud-gcp Claude skill. Complete guide with installation instructions and examples.
Learn how to use the implementing-gcp-vpc-firewall-rules Claude skill. Complete guide with installation instructions and examples.
Learn how to use the auditing-gcp-iam-permissions Claude skill. Complete guide with installation instructions and examples.