AppScreenMap MCP server
Commit 27 Okt 2026Memungkinkan AI agent untuk memetakan layar aplikasi mobile, melakukan audit aksesibilitas, serta menavigasi emulator Android atau simulator iOS.
Juga dikenal sebagai MKS-01/appscreenmap
- Stars
- 3
- Tools
- 5
- Unduhan, 30 hari
- —
- Versi terbaru
- —
- Commit terakhir
- 27 Okt 2026
- Lisensi
- MIT
Apa itu AppScreenMap MCP?
AppScreenMap adalah MCP server. Memungkinkan AI agent untuk memetakan layar aplikasi mobile, melakukan audit aksesibilitas, serta menavigasi emulator Android atau simulator iOS. Server ini menyediakan 5 tool, seperti route, where_am_i, go_to_screen.
Ringkasan dibuat dari README proyek
Tentang AppScreenMap MCP server
AppScreenMap memungkinkan developer mobile dan QA engineer untuk memetakan struktur aplikasi mobile serta melakukan audit aksesibilitas langsung dari dalam AI agent. Dengan terhubung ke Android emulator atau iOS Simulator, server ini memungkinkan agent untuk mengeksplorasi build, mendata layar, dan mengidentifikasi rute navigasi tanpa memerlukan source code, SDK, atau test IDs. Tool ini beroperasi sebagai local stdio server, yang berarti ia membaca folder run di mesin Anda dan berkomunikasi dengan perangkat tanpa memerlukan API keys, akun, atau panggilan network eksternal.
User berinteraksi dengan server melalui tool seperti crawl untuk memetakan aplikasi, route untuk menemukan jalur navigasi, dan a11y_findings untuk mengidentifikasi masalah kepatuhan WCAG 2.2. Sistem ini menghasilkan file teks biasa termasuk map.json dan laporan performa yang dapat dikueri oleh client seperti Claude Desktop, Cursor, atau VS Code. Setup ini memungkinkan agent untuk mengarahkan perangkat ke layar tertentu menggunakan go_to_screen atau memverifikasi jalur yang ada untuk memastikan tidak ada regresi yang terjadi pada build baru.
Apa yang bisa Anda lakukan dengannya
- 1Audit kepatuhan aksesibilitas mobileMinta AI agent Anda untuk meninjau build aplikasi terbaru terhadap standar WCAG 2.2 AA.
- 2Pemetaan inventaris layar aplikasiBiarkan agent mengeksplorasi APK baru untuk membuat inventaris lengkap dari setiap layar dalam build tersebut.
- 3Membandingkan perubahan antar buildGunakan agent untuk mengidentifikasi layar mana yang ditambahkan, dihapus, atau diubah di antara dua versi yang berbeda.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Tool AppScreenMap MCP 5
Terdeteksi dari READMEroutewhere_am_igo_to_screencrawlcrawl_status
| route | — | |
| where_am_i | — | |
| go_to_screen | — | |
| crawl | — | |
| crawl_status | — |
Pengecekan otomatis
Berjalan 14 Nov 2026Laporan lengkap →Belum diverifikasi. Sebuah server memerlukan skor 80, tidak ada temuan serius, dan data yang cukup untuk kami periksa. Cara kerja checks · Yang perlu diperbaiki untuk menambah poin
- Source repository terhubung dan dapat dijangkaumks-01/appscreenmap is public and reachablegithub.com/mks-01/appscreenmap ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyaTidak diperiksa
- Provenance build (atestasi Sigstore)Tidak diperiksa
- Lisensi open source (OSI)MITspdx.org/licenses/MIT.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-10-27github.com/mks-01/appscreenmap ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerTidak diperiksa
- Tidak ada advisory kritis pada paket atau dependensinyaTidak diperiksa
- Tidak ada instruksi tersembunyi untuk model5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelNo tool named like delete, drop or execLolos
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di GitHubappscreenmap crawl --apk app.apk # explore the app, then run `appscreenmap` to browse the map
[!NOTE] Early alpha: the project is under active development and commands may change.
Know your app
Ask a team "how many screens does your app have, and how do I reach checkout?" and you get a guess. The answer lives in someone's head, a stale design file, or a test suite that breaks every sprint. AppScreenMap walks through the build you already ship and writes every screen down, so the answer is a file you can query, diff and build on.
- What is in this build? A complete screen inventory, including screens nobody remembers.
- How do I reach Settings? A route to every screen, for you and for your agent.
- What changed since the last release? Added, removed and changed screens, before release.
- Is it accessible, fast, secure, store-ready? WCAG 2.2, performance, store deadlines and security, each with the fix and an official source.
- What does the app talk to? The hosts it calls and its own log lines, tied to the screen you were on (
crawl --network,watch). - Did this build break a path?
verifyreplays every path and fails the CI job if one is gone.
It makes no model calls while it explores, so the same build gives the same map, and nothing leaves your machine. Android and iOS (iOS is beta).
Get started
Needs macOS, uv, Bun, and an Android emulator or device (adb),
or Xcode with a booted Simulator for iOS.
git clone https://github.com/MKS-01/appscreenmap && cd appscreenmap
make install # engine, dashboard and the `appscreenmap` command
appscreenmap setup # checks adb, devices, simulators; says what is missing
appscreenmap crawl --apk app.apk # explore the app
appscreenmap # terminal home + dashboard
No app handy? Press x in the terminal home to map the Playground sample app.
- Output is a run folder of plain files (
map.json,screens/,flows/,a11y.json,perf.json, reports).map.jsonis a versioned contract: docs/MAP_SCHEMA.md. - Another language: add
--locale fr-FR(orja,ar, …). Android 13+; on iOS the app is relaunched. - Commands:
appscreenmap --helplists them all. After pulling new code, runmake installagain.
AI agent and MCP
Everything can run through your AI agent. Press t in the terminal home for a new terminal in the same folder, run
claude, and ask in plain language:
Map my app on the emulator and review the map. Audit accessibility on the latest run at WCAG 2.2 AA. Map the new build and compare it with the last run. Two screens got merged in the last map. Fix it and map again.
The agent works through the MCP server, so it answers from the map instead of exploring the app again, and its work shows up live in the dashboard:
You: How do I reach Settings? Agent →
route("Settings"): From launch: tap Profile, then tap Settings. Here is the test flow. You: Take the emulator there. Agent →go_to_screen("Settings")→where_am_i(): Done, the device is on Settings.
Connect
appscreenmap mcp serves your mapped runs to any MCP client (Claude Code, Claude Desktop, Cursor, VS Code, …). It
is a local stdio server: it reads runs/ on your machine and talks to your emulator or Simulator, with no account,
no API key and no network calls.
claude mcp add appscreenmap -- appscreenmap mcp
Other clients take the same command in their MCP config:
{ "mcpServers": { "appscreenmap": { "command": "appscreenmap", "args": ["mcp"] } } }
Options: --runs <dir> (default ./runs), --run <run-id> (default: the latest finished run), --serial <device>.
Tools
| Tool | Answers | Kind |
|---|---|---|
list_runs, list_screens, find_screens |
What has been mapped; which screen is "Settings" or has a "Save" button | read-only |
get_screen, screenshot |
One screen: elements and where each leads, how to reach it, findings, load time, image | read-only |
route |
Steps to a screen, from launch or another screen (with its test flow) | read-only |
a11y_findings, perf_summary |
Which screens fail which WCAG 2.2 criteria; which are slow | read-only |
where_am_i |
Which mapped screen the device shows now | read-only |
go_to_screen |
Drive the device to a screen along its route | drives the device |
crawl |
Map an app (or a new build) in the background | drives the device |
crawl_status |
Follow a running map | read-only |
Tools carry MCP annotations (readOnlyHint, destructiveHint), so clients can ask before go_to_screen and crawl,
the two that drive the device. More in docs/SETUP.md.
Dashboard
appscreenmap serve opens it on runs/. No backend; it updates live while it maps.
- Insights: scored audits with findings, fixes and official sources
- Map: every screen as a tree, graph or storyboard. Comment, add planned screens, file screens the crawl missed, rename, move or remove; edits go in
notes.jsonand the mapped data is never touched - Screens: search, tappable overlays, transitions, the test flow
- Accessibility: findings per rule with screenshots; triage them, export a WCAG 2.2 report
- Network · Logs: the hosts the app called and its own log lines, with sessions you recorded by hand
- Compare: what changed between two builds
- Crawl replay: step through what was tapped and why
Export the map as one self-contained SVG (every screenshot inside) or Markdown/CSV from the dashboard, or take the files
straight from the run: test flows (flows/, Maestro format), a Mermaid graph (map.mmd), a one-file WCAG report
(a11y-report.html, evidence not a conformance claim), and map.json / a11y.json / perf.json.
License
Open source under the MIT License. © 2026 MKS and AppScreenMap contributors.
Built with Claude Code.
Pertanyaan tentang AppScreenMap MCP
Tool apa yang disediakan AppScreenMap MCP?
Server ini menyediakan 5 tool, termasuk route, where_am_i, go_to_screen, crawl, crawl_status.
Apakah AppScreenMap memerlukan SDK atau source code?
Tidak, tool ini bekerja tanpa memerlukan SDK, test IDs, atau akses ke source code.
Bagaimana MCP server menangani data dan privasi?
Ini adalah local stdio server yang membaca file di mesin Anda dan berkomunikasi dengan emulator tanpa memerlukan panggilan network atau akun.
Audit jenis apa yang bisa dilakukan oleh tool ini?
Tool ini menyediakan audit aksesibilitas WCAG 2.2, performa, kesiapan store, dan keamanan.
Bisakah AI agent mengoperasikan perangkat mobile?
Ya, agent dapat menggunakan tool seperti go_to_screen untuk mengarahkan perangkat ke layar tertentu melalui rute yang telah dipetakan.