ForrestKim42/llm-mobile-testing
A pattern for systematically exploring any Android app using an LLM agent with ADB + MCP — producing complete screen maps, user flows, and competitive analysis from real device interaction.
Platform-specific configuration:
{
"mcpServers": {
"llm-mobile-testing": {
"command": "npx",
"args": [
"-y",
"llm-mobile-testing"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
A pattern for systematically exploring any mobile app using an LLM agent with physical device access — producing a complete map of every screen, every interaction, and every user flow.
This is an idea file. Share it with your LLM agent and explore together. The specifics will depend on your app, your device, and your goals.
Most app research is manual. A person taps through an app, takes screenshots when something looks interesting, and writes notes afterward. This produces partial, biased coverage — you see what catches your eye, miss what doesn't, and have no way to know what you missed.
The idea here is different. An LLM agent connected to a phone can see the screen (screenshot), understand what's on it (UI dump), and interact with it (tap, type, scroll, navigate). This means the agent can treat the app as a graph — each screen is a node, each tappable element is an edge — and perform a depth-first search. Systematically. Every screen, every dropdown, every toggle, every scroll position. Nothing skipped, nothing assumed.
The output is not a set of scattered screenshots. It's a route map — a structured, complete catalog of every screen in the app, with evidence (screenshots) and context (descriptions). Like a wiki for the app's UI. Once you have this, user flows, competitive analysis, gap analysis, and UX audits become trivial — you're working from complete data instead of memory and impressions.
This works for any app. We've used it on crypto wallets, but the pattern applies equally to banking apps, e-commerce, social media, productivity tools — anything with a UI.
Three phases. Strictly separated.
Explore without organizing. Organize without analyzing. Analyze only on complete data.
Exploring while analyzing means you see what you want to see. Organizing while analyzing means your structure bends toward your conclusion. Analysis on incomplete data means confident but wrong. Do
Loading reviews...