Why are iOS elements of type "Other" missing from mobile-mcp mobile_list_elements_on_screen?
On iOS, mobile-mcp's mobile_list_elements_on_screen only returns elements whose type is in a fixed list (TextField, Button, Switch, Icon, SearchField, StaticText, Image). Elements of type "Other" — common on React-based pages bundled in the app — are not returned, so the agent cannot locate or interact with them. There is no error message; the elements simply do not appear in the response. Why is the type list limited, and is there a way to include all elements?
Originally asked on GitHub: https://github.com/mobile-next/mobile-mcp/issues/88
1 answer
Status: explained — a maintainer confirmed the type filtering is intentional, and the issue is still open as of August 2025.
The maintainer explained that the only reason for the filter is to limit the amount of data returned from the iOS view tree. The view tree can be extensive and huge; returning everything could exceed the LLM context window or make it harder for the model to decide which element to click. For that reason, mobile-mcp deliberately returns only the subset of element types that was listed.
The maintainer said the team will investigate the request and that "we can always extend this case by case," but no fix, version, or configuration option was provided in the thread.
No workaround was given in the discussion. General advice: if you need "Other" elements now, follow the GitHub issue so your use case is counted when the allowlist is extended, and consider whether the failing elements could be given a more specific accessibility trait in the app itself so they match an already-supported type.
Did this work for you?
Related questions
- mobile-mcp: LLM taps iOS keypad coordinates instead of using type_keys — workaround?
- Mobile MCP in Android Studio Copilot says no devices even though adb works locally
- mobile-mcp @latest fails with 'spawnSync ios ENOENT' — how to fix?
- mobile-mcp with Flutter apps: TextFields missing, taps off-target
- mobile-mcp clicks from screenshots land at wrong coordinates on Android