MCP server de AppScreenMap
Commit 27 oct 2026Permite que un agente de IA mapee pantallas de aplicaciones móviles, audite la accesibilidad y navegue por emuladores de Android o simuladores de iOS.
También conocido como MKS-01/appscreenmap
- Stars
- 3
- Herramientas
- 5
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 27 oct 2026
- Licencia
- MIT
¿Qué es AppScreenMap MCP?
AppScreenMap es un MCP server. Permite que un agente de IA mapee pantallas de aplicaciones móviles, audite la accesibilidad y navegue por emuladores de Android o simuladores de iOS. Expone 5 herramientas, como route, where_am_i, go_to_screen.
Resumen generado a partir del README del proyecto
Acerca del MCP server de AppScreenMap
AppScreenMap permite a los desarrolladores móviles y expertos en QA mapear la estructura de aplicaciones móviles y auditar la accesibilidad directamente desde un agente de IA. Al conectarse a un emulador de Android o a un simulador de iOS, el servidor permite que un agente explore builds, haga un inventario de pantallas e identifique rutas de navegación sin necesidad de código fuente, SDKs o test IDs. Funciona como un servidor local stdio, lo que significa que lee carpetas de ejecución en tu máquina y se comunica con tus dispositivos sin requerir API keys, cuentas o llamadas de red externas.
Los usuarios interactúan con el servidor mediante herramientas como crawl para mapear una app, route para encontrar rutas de navegación y a11y_findings para identificar problemas de cumplimiento con WCAG 2.2. El sistema genera archivos de texto plano, incluyendo map.json e informes de rendimiento, que pueden ser consultados por clientes como Claude Desktop, Cursor o VS Code. Esta configuración permite que un agente dirija un dispositivo a pantallas específicas usando go_to_screen o verifique rutas existentes para asegurar que no haya habido regresiones durante una nueva build.
Qué puedes hacer con él
- 1Auditar el cumplimiento de accesibilidad móvilPide a tu agente de IA que revise la última ejecución de la app frente a los estándares WCAG 2.2 AA.
- 2Mapear el inventario de pantallas de la aplicaciónHaz que un agente explore un nuevo APK para crear un inventario completo de cada pantalla en la build.
- 3Comparar builds para detectar cambiosUsa el agente para identificar qué pantallas se añadieron, eliminaron o modificaron entre dos versiones diferentes.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Herramientas de AppScreenMap MCP 5
Detectado desde el READMEroutewhere_am_igo_to_screencrawlcrawl_status
| route | — | |
| where_am_i | — | |
| go_to_screen | — | |
| crawl | — | |
| crawl_status | — |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesiblemks-01/appscreenmap is public and reachablegithub.com/mks-01/appscreenmap ↗Aprobado
- El paquete indica este repositorio como su origenNo verificado
- Procedencia de la compilación (atestación de Sigstore)No verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-10-27github.com/mks-01/appscreenmap ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo verificado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo tool named like delete, drop or execAprobado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en 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.
Preguntas sobre AppScreenMap MCP
¿Qué herramientas proporciona AppScreenMap MCP?
Expone 5 herramientas, incluidas route, where_am_i, go_to_screen, crawl, crawl_status.
¿Requiere AppScreenMap un SDK o código fuente?
No, funciona sin necesidad de un SDK, test IDs o acceso al código fuente.
¿Cómo gestiona el MCP server los datos y la privacidad?
Es un servidor local vía stdio que lee archivos en tu máquina y se comunica con tu emulador sin realizar llamadas de red ni requerir cuentas.
¿Qué tipo de auditorías puede realizar la herramienta?
La herramienta ofrece auditorías de accesibilidad WCAG 2.2, de rendimiento, de preparación para tiendas (store readiness) y de seguridad.
¿Puede el agente de IA controlar el dispositivo móvil?
Sí, el agente puede usar herramientas como go_to_screen para dirigir el dispositivo a una pantalla específica siguiendo la ruta mapeada.