AppScreenMap MCP server
2026년 10월 27일 커밋AI 에이전트가 모바일 앱 화면을 매핑하고, 접근성을 감사하며, Android 에뮬레이터 또는 iOS 시뮬레이터를 탐색할 수 있도록 지원합니다.
다른 이름 MKS-01/appscreenmap
- 스타
- 3
- Tools
- 5
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 10월 27일
- 라이선스
- MIT
AppScreenMap MCP란?
AppScreenMap은(는) MCP server입니다. AI 에이전트가 모바일 앱 화면을 매핑하고, 접근성을 감사하며, Android 에뮬레이터 또는 iOS 시뮬레이터를 탐색할 수 있도록 지원합니다. 5개 도구를 제공합니다. 예: route, where_am_i, go_to_screen.
프로젝트 README에서 생성된 요약
AppScreenMap MCP server 정보
AppScreenMap은 모바일 개발자와 QA 엔지니어가 AI 에이전트 내에서 모바일 애플리케이션 구조를 매핑하고 접근성을 감사할 수 있게 해줍니다. Android 에뮬레이터 또는 iOS Simulator에 연결함으로써, 소스 코드, SDK 또는 테스트 ID 없이도 에이전트가 빌드를 탐색하고, 화면 목록을 작성하며, 탐색 경로를 식별할 수 있도록 지원합니다. 로컬 stdio server로 작동하므로 API 키, 계정 또는 외부 네트워크 호출 없이 사용자의 기기에 있는 실행 폴더를 읽고 기기와 통신합니다.
사용자는 crawl를 통해 앱을 매핑하고, route로 탐색 경로를 찾으며, a11y_findings로 WCAG 2.2 준수 문제를 식별하는 등의 도구로 server와 상호작용합니다. 시스템은 map.json 및 성능 보고서를 포함한 일반 파일을 생성하며, 이 파일들은 Claude Desktop, Cursor 또는 VS Code와 같은 클라이언트에서 조회할 수 있습니다. 이러한 설정을 통해 에이전트는 go_to_screen을 사용하여 특정 화면으로 기기를 이동시키거나, 기존 경로를 검증하여 새로운 빌드에서 회귀(regression)가 발생하지 않았는지 확인할 수 있습니다.
활용 사례
- 1모바일 접근성 준수 감사AI 에이전트에게 최신 앱이 WCAG 2.2 AA 표준을 준수하는지 검토하도록 요청하세요.
- 2애플리케이션 화면 목록 매핑에이전트가 새로운 APK를 탐색하여 빌드 내의 모든 화면에 대한 전체 목록을 작성하도록 하세요.
- 3빌드 간 변경 사항 비교에이전트를 사용하여 두 가지 다른 버전 사이에서 어떤 화면이 추가, 삭제 또는 변경되었는지 식별하세요.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
AppScreenMap MCP 도구 5
README에서 감지됨routewhere_am_igo_to_screencrawlcrawl_status
| route | — | |
| where_am_i | — | |
| go_to_screen | — | |
| crawl | — | |
| crawl_status | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능mks-01/appscreenmap is public and reachablegithub.com/mks-01/appscreenmap ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-10-27github.com/mks-01/appscreenmap ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음5 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기appscreenmap 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.
AppScreenMap MCP 질문
AppScreenMap MCP는 어떤 도구를 제공하나요?
5개 도구를 제공합니다. 예: route, where_am_i, go_to_screen, crawl, crawl_status.
AppScreenMap를 사용하려면 SDK나 소스 코드가 필요한가요?
아니요, SDK, 테스트 ID 또는 소스 코드 없이도 작동합니다.
MCP server는 데이터와 개인정보를 어떻게 처리하나요?
로컬 stdio server로 작동하며, 사용자의 기기에 있는 파일을 읽고 에뮬레이터와 통신합니다. 네트워크 호출이나 계정 생성이 필요하지 않습니다.
어떤 종류의 감사가 가능한가요?
WCAG 2.2 접근성, 성능, 스토어 출시 준비 상태 및 보안 감사를 수행할 수 있습니다.
AI 에이전트가 모바일 기기를 제어할 수 있나요?
네, 에이전트는 go_to_screen과 같은 도구를 사용하여 매핑된 경로를 따라 특정 화면으로 기기를 이동시킬 수 있습니다.