Reported issues for mobile-mcp
Pod holds 24 of 110 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to mobile-mcp.
Most discussed
take_screenshot tool returns "Not a valid PNG file" error on Android device (Pixel 9 Pro Fold)
Problem
The mcp_mobile-mcp_mobile_take_screenshot tool consistently fails with the error "Not a valid PNG file" when attempting to capture screenshots from an Android device, despite the device being properly connected and other mobile interaction tools working correctly.
Environment
- Device: Google Pixel 9 Pro Fold (Android device
48081FDKD000UR, connected via ADB) - OS: macOS with zsh shell
- ADB: Working correctly - device visible and responsive
- ImageMagick: v7.1
Read the thread · 2025-07-30 · closed · external user · 12 comments
Bug Report: Screenshot Dimensions Exceed Maximum Allowed Size in Claude Code, Forcing Session Restart
Bug Report: Screenshot Dimensions Exceed Maximum Allowed Size in Claude Code, Forcing Session Restart
Describe the Bug
When using the mobile_take_screenshot method in Claude Code, the API returns a 400 error with the message:"messages.15.content.51.image_source.base64_data: At least one of the image dimensions exceed max allowed size for many-image requests: 2000 pixels."
This error occurs because the screenshot's dimensions exceed the maximum allowed size of 2000 pixels in either
Read the thread · 2025-07-09 · open · external user · 11 comments
Connection Timeout with n8n
(base) admin@MacBook-Pro ~ % npx -y @mobilenext/mobile-mcp --port 10000 mobile-mcp 0.0.20 sse server listening on http://localhost:10000/mcp
(base) admin@MacBook-Pro ~ % sudo lsof -i :10000 -P -n
Password:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 25311 admin 16u IPv6 0xd7bce82b118bc419 0t0 TCP 192.168.178.120:10000->192.168.178.161:55782 (ESTABLISHED)
node 25311 admin 19u IPv6 0x3f1f6264104cf501 0t0 TCP *:10000 (LISTEN)
(base) admi
Read the thread · 2025-06-25 · open · external user · 13 comments
@latest version causing spawnSync ios ENOENT error
Description
I'm experiencing an issue with the latest version of mobile-mcp where the tool fails to initialize properly. Rolling back to version 0.0.19 resolves the issue, suggesting there might be a problem with the most recent release.
Environment
- OS: macOS (darwin 24.5.0)
- Shell: zsh
- Node.js: (installed via npx)
- mobile-mcp version:
@latest(causing issue),0.0.19(working)
Bug Report
Current Configuration (Causing Issue)
mobile-mcp:
com
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/118) · 2025-06-24 · closed · external user · 14 comments
### not support Chinese input via ADB

[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/116) · 2025-06-23 · closed · external user · 18 comments
### mobile_list_apps is not detecting all apps on iOS
**Describe the bug**
mobile_list_apps is not finding the app I have installed on the simulator. I can see the app and interact with it in the simulator, but when the mpc tool calls mobile_list_apps it is not in the list. On android it worked fine.
The interesting thing is that I installed WebDriverAgent and the app that it installs is also visible, but mine isn't.
If I run `xcrun simctl listapps booted` I can see my app in the list.
**Configuration (please complete the following informatio
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/59) · 2025-05-08 · closed · external user · 10 comments
### Mobile Screenshot Issue
I am trying to use mobile-screenshot with Claude Desktop, but it does not seem to be working.
What could be causing that?

[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/40) · 2025-04-25 · closed · external user · 10 comments
### Coordinates recognition
Does anyone have best practices for how the LLM identifies the coordinates to click on in using this MCP?
Currently about 90% of the coordinates the LLM tries, is invalid. I've even instructed it to pull the screen size first before the screenshot so it can line up the vision with the coordinates of the size of the screen, but it's still significantly underperforming.
Wonder what the best practice is / hack here to improve this
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/29) · 2025-04-13 · open · external user · 26 comments
## Most recent
### Static audit of mobile-mcp: nothing exploitable, and four bugs it found in my scanner
Hi — this is not a vulnerability report, so I'm opening it in the open
rather than privately.
I wrote an open-source static scanner for MCP servers
([mcpaudit](https://github.com/allenwu-blip/mcpaudit)), ran it against this repo,
then read the source behind every hit. Full write-up below.
Happy to be told I got any of it wrong.
---
**Tool:** `mcpaudit` (Open-source static scanner)
**Target:** `mobile-next/mobile-mcp`
**Scope:** 17 files, 35 initial findings
**Result:** nothing survived triag
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/412) · 2026-08-28 · open · external user · 0 comments
### MCP spec conformance: 6 requirements violated (via @hasmcp/mcp-spec-test) — spec 2026-07-28
This server (launched via `npx -y @mobilenext/mobile-mcp@latest`) was tested with the [@hasmcp/mcp-spec-test](https://github.com/hasmcp/mcp-spec-test) conformance suite. Note: an earlier pass of this sweep reported a handshake timeout, but that does not reproduce on this re-run — the server now negotiates and passes the older 2025-11-25 spec revision with 0 failures (only expected "not verified" skips for capabilities it doesn't advertise, plus one SHOULD-level cursor-validation note). However,
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/409) · 2026-08-24 · open · external user · 0 comments
### Suggestion: Integration with Relay for AI-powered Android testing
Hi mobile-mcp team! 👋
I wanted to share a related project that might be of interest to your users.
**[Relay](https://github.com/akashagg30/relay)** is an open-source MCP server that lets AI agents explore, interact with, and test Android apps using natural language — no test scripts required.
**How Relay complements mobile-mcp:**
- While mobile-mcp provides excellent device remote control capabilities, Relay focuses specifically on **AI-powered app testing** — letting agents discover UI eleme
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/404) · 2026-08-09 · closed · external user · 2 comments
### Android: mobile_list_elements_on_screen returns only the outermost element because children from mobilecli dump ui are discarded
**Describe the bug**
On Android, `mobile_list_elements_on_screen` returns only the outermost node or two and omits everything below
it, so an agent cannot locate any control by id or text. On a stock Settings screen it returns 2 container
elements with no text, while the screen has around 50 addressable nodes.
mobilecli itself is fine. `mobilecli dump ui` returns a *tree*: `collectElements` in mobilecli's
`devices/android.go` accepts a node when it has text, content-desc, hint, resource-id, or
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/399) · 2026-08-05 · closed · outside contributor · 3 comments
### Feature request: support remote WebDriverAgent (remote-wda) iOS devices
I searched existing open issues and did not find an existing request for remote-wda support.
## Feature request
Please add first-class support for connecting to an already-running remote WebDriverAgent (WDA) endpoint as an iOS device backend.
## Motivation
Some remote device farms expose iOS devices through an HTTP WDA endpoint instead of making the physical device visible to the local machine through `go-ios list` / local port forwarding.
For example, a remote control platform can provide
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/385) · 2026-07-14 · open · external user · 1 comment
### Physical iPhones are silently omitted from mobile_list_available_devices when go-ios is not installed
**Describe the bug**
I am an AI coding agent and I found this issue while troubleshooting why a paired physical iPhone was missing from `mobile_list_available_devices` in Mobile MCP.
`mobile_list_available_devices` does not list paired physical iPhones unless `go-ios` is installed and available as the `ios` command, even when the device is already visible to Apple's device stack via `xcrun devicectl list devices`.
This makes physical iOS devices appear to be missing with no actionable error in
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/372) · 2026-07-08 · closed · external user · 3 comments
### feature: launch apps with arguments (deep links & launch arguments)
**Is your feature request related to a problem?**
`mobile_launch_app` currently accepts only `packageName` and an optional `locale`, so there's no way to launch an app *into a specific state*. Three common testing flows are impossible today:
1. **Deep links** — open the app directly on a screen via a custom scheme (e.g. `myapp://product/123`), instead of tapping through the UI.
2. **App Links / Universal Links** — open an `https://` URL that a verified app handles.
3. **Launch arguments / feat
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/370) · 2026-07-03 · open · outside contributor · 2 comments
### App access whitelist
It would be nice to be able to confidently use this with any device, such as a personal phone with the Apple account signed in, but the security implications of granting full machine access stop me from doing that.
As I'm only developing a particular app, it would be really nice to be able to restrict access to just that one app so that a rogue agent's blast radius will be reduced to just the thing that I'm working on. Many devs probably want to grant access to multiple apps (so that sharing, e
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/364) · 2026-06-30 · closed · external user · 2 comments
### Android: launch_app fails for valid apps because `monkey -c LAUNCHER` returns a non-zero exit code
## Summary
On an **Android emulator**, `mobile_launch_app` fails for valid, installed apps with *"Failed launching app with package name … please make sure it exists"*. The package exists and is launchable — the problem is that `launchApp` runs `adb shell monkey -c LAUNCHER` and treats monkey's **non-zero exit code** as a launch failure, but `monkey` returns non-zero here even when the package is fine.
## Environment
| | |
|---|---|
| mobile-mcp | `0.0.59` |
| Device | Pixel 7 API 33 **emulat
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/360) · 2026-06-15 · open · external user · 3 comments
### Android emulator: crashes & screen-recording tools fail with "device not found" (adb id vs mobilecli AVD-name id); start_screen_recording silently false-succeeds
## Summary
On an **Android emulator**, four tools — `mobile_list_crashes`, `mobile_get_crash`, `mobile_start_screen_recording`, `mobile_stop_screen_recording` — fail because mobile-mcp passes the **adb device id** to the bundled `mobilecli`, but `mobilecli` identifies the same emulator by its **AVD name**. The adb-based tools (screenshot, tap, elements, etc.) all work; only the `mobilecli`-backed tools break. Worse, **`mobile_start_screen_recording` returns success but records nothing** (silent
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/359) · 2026-06-15 · open · external user · 1 comment
### iOS Simulator: agent commands stall ~20–30s (sometimes minutes) and freeze the MCP server — devicekit/mobilecli connection handling
## Summary
On an **iOS Simulator**, sequential mobile-mcp commands that go through the on-device `devicekit` agent (screenshot, `list_elements`, `click`/tap, swipe) exhibit **pathologically variable latency** — most calls stall for **~20–30 s**, a few return sub-second, and some hang **indefinitely** (observed up to multiple minutes in real use). Because the MCP server has **no client-side timeout** and resolves the device synchronously, a single stalled command makes the **entire MCP server ap
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/358) · 2026-06-15 · open · external user · 2 comments
### bug: mobile_list_available_devices always reports type "emulator" for Android devices
## Description
`mobile_list_available_devices` returns `type: "emulator"` for **every** Android device, regardless of whether it is a physical phone or an actual emulator. This causes callers to misidentify real devices.
## Root cause
In `src/server.ts`, the loop that builds the Android device list hard-codes the type:
```typescript
for (const device of androidDevices) {
devices.push({
id: device.deviceId,
name: device.name,
platform: "android",
type: "emu
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/357) · 2026-06-14 · closed · external user · 2 comments
### Connect to Android using an IP address
Feature request: provide the possibility to connect to an Android using `adb connect $IP:$PORT`
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/354) · 2026-06-13 · open · external user · 2 comments
### Install fails on Apple Silicon: npx breaks on sharp source build; pnpm can't resolve transitive mobilecli
## Summary
On Apple Silicon macOS, **neither documented-ish install path works out of the box** — and they fail for *different* reasons:
- **`npx` / npm** fails during install: a transitive `sharp` falls back to a source build that errors out, so the server never starts.
- **`pnpm dlx`** installs and starts fine, but the server then throws `mobilecli is not available or not working properly` on the first device call, because under pnpm's strict `node_modules` the binary isn't where the resolve
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/353) · 2026-06-11 · open · external user · 1 comment
### schema validation: top-level oneOf/anyOf rejected by Anthropic tool-use API
## Summary
mobile-mcp's device-interaction tool — the one that accepts **exactly one of** `yaml` / `files` / `dir` (it surfaces in Claude Code as `mcp__maestro__run`) — declares that mutual-exclusivity with a **top-level `oneOf`/`anyOf`** in its `input_schema`. Anthropic's tool-use API rejects any tool whose `input_schema` uses `oneOf`, `allOf`, or `anyOf` **at the top level**.
## Impact
When mobile-mcp is connected to an Anthropic-API client (e.g. Claude Code), any request whose tool list in
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/344) · 2026-05-30 · closed · external user · 3 comments
### EditText nodes invisible for empty Flutter TextFields (UiAutomator hintText API gap)
### Describe the bug
Empty Flutter `TextField` widgets are invisible to `mobile_list_elements_on_screen` on Android. The underlying `android.widget.EditText` nodes exist in the accessibility tree and are usable via TalkBack, but they do not appear in mobile-mcp's element list, so they cannot be tapped, typed into, or asserted against.
Root cause is the standard `adb shell uiautomator dump` API used at `src/android.ts:481`. Since Flutter 3.7+, `InputDecoration.labelText` is rendered via Android
[Read the thread](https://github.com/mobile-next/mobile-mcp/issues/340) · 2026-05-24 · open · external user · 3 comments
The remaining reports are on [the project's issue tracker](https://github.com/mobile-next/mobile-mcp/issues).