AppScreenMap GitHub ↗

For your AI agent · Android · iOS Simulator beta

Map and audit any mobile app from your AI agent.

Your agent crawls the build on an emulator or Simulator and inspects the APK or app bundle itself: every screen, the route to it, and what is wrong with it. No SDK, no test IDs, no source code.

  1. Demo
  2. 1Map the app
  3. 2Drive to any screen
  4. 3Confirm where it landed
claude · appscreenmap mcplocal · stdio
  1. ›Map my app on the emulator.
  2. ●crawl(apk="playground.apk")mapping in the background
  3. ●crawl_status()done19 screens59 transitions1 crash81 WCAG 2.2 findings
  4. ›Take it to Text size.
  5. ●go_to_screen("Text size")reached in 2 steps1tap Profile2tap Text size
  6. ●where_am_i()on Text size OK
claude mcp add appscreenmap -- appscreenmap mcp
Android emulatorPlayground

The map it writes

Every screen, and the way there

The crawler taps through the build the way a person would, and writes down every screen it reaches and the step that got it there.

19 screens · 59 transitions Playground sample

  1. Welcome back
  2. Discover
  3. Profile
  4. Account settings

route("Account settings") 3 taps

What you get

One crawl, every answer in plain files

Playground · playground-v1
a11y.json · WCAG 2.2 AA81open findings72 level A · 9 level AA81 OPEN
  1. 4.1.2Name, Role, Value“Sign in” is clickable with no role70INFO
  2. 3.2.3Consistent NavigationNavigation differs between screens3WARN
  3. 3.2.4Consistent IdentificationSame action, different label2WARN
  4. 3.3.7Redundant EntryAsks for the same input twice2WARN
  5. 1.3.4OrientationScannerActivity is locked to portrait1WARN

Also writes map.json · flows/*.yaml · map.mmd · map.svg · a11y-report.html

iOS Simulator crawl BETAAdaptive UI review COMING SOON

Beyond the crawl

More than a map

  • Crawls localised apps

    Run it in the app’s own language; the safety rules hold in all 24. Pseudo-locales stress long text and right-to-left.

  • Export and share

    One self-contained SVG of the whole tree: send it to anyone, open it in a browser, or drag it into Figma. Mermaid and Maestro flows too.

  • Edit in place

    Drop comment pins, add planned screens, rename, move or remove. Edits live in notes.json; the crawled map is never touched.

  • Visual diff between builds

    Screens are matched across two builds and compared by pixels and by text. Every string added, removed, moved or changed is read from the view hierarchy, not OCR.

  • Replay the crawl

    Play the crawl back step by step, every tap marked on the screen it hit. Search any step by screen, label or outcome.

Principles

It asks nothing of your app

  • Zero app changes

    Native or cross-platform: Compose, React Native, SwiftUI.

  • Deterministic

    No model calls in the crawl. Same build, same map.

  • Safe

    Stays in your app; never taps log out, delete or pay.

Map your first app

Three commands

  1. 1
    Clonegit clone https://github.com/MKS-01/appscreenmap
  2. 2
    Installcd appscreenmap && make install
  3. 3
    Connect your agentclaude mcp add appscreenmap -- appscreenmap mcp

Needs macOS with Android Studio or Xcode.