Clone the repository
Start here: download the source from GitHub and switch into the project directory.
git clone https://github.com/fclab-skku/playwright_for_android.git
cd playwright_for_androidDrive an Android emulator from your coding agent. Build, boot, install, launch, test a feature, and get a logcat-and-actions timeline back.
tool start_debug_session
tool observe_screen
tool tap login_button
tool finish_test - report.md + timeline.md
First clone the repository and prepare the Android tooling. Then choose one of the two install methods below.
Start here: download the source from GitHub and switch into the project directory.
git clone https://github.com/fclab-skku/playwright_for_android.git
cd playwright_for_androidThen keep uv, Android SDK platform tools, the emulator binary, and at least one AVD ready on PATH.
brew install uv
python3 scripts/onboard.pyInstall path 1: use the Claude Code plugin so the bundled manifest registers the MCP server automatically.
/plugin marketplace add /path/to/android-app-debug-mcp
/plugin install android-app-debug-mcp@FCLab.SKKUInstall path 2: register the MCP server directly and point Claude at the checked-out repository path.
claude mcp add marvis-dev -- \
uv run --project /absolute/path/to/android-app-debug-mcp \
python \
/absolute/path/to/android-app-debug-mcp/scripts/server.pyBuild the APK, boot the selected AVD, install the app, launch the package, and drive the target feature from one session.
Every tap, text entry, scroll, wait, home, and back action is a typed MCP tool call that stays visible in the agent transcript.
Action markers are written into live logcat, so the timeline can connect UI steps with system and app logs.
Each run saves screenshots, trace rows, logcat, a report, and a combined timeline under android-app-debug.
Agents reason from raw emulator screenshots and structured UI element lists so every action is grounded in visible Android state.
A token-efficient MCP server purpose-built for Claude Code and similar coding agents that need to validate Android features without juggling Gradle, adb, and logcat manually.
Drop-in Model Context Protocol tooling for any MCP client. Agents call standard tools for lifecycle, observation, touch input, typing, scrolling, navigation, waits, and reports.
Every debug run writes screenshots, action traces, annotated logcat, report.md, and timeline.md so developers can inspect what the agent did after the session ends.
precheck, start_debug_session, finish_test, abort_sessionPrepare the machine, start one active run, and close it with a report or an abort.
observe_screenRefresh the current screen without firing input, returning screenshots.
tap, long_press, type_text, scroll_dir, scroll_to_text_tool, press_home, press_back, waitDrive the emulator through adb-injected actions and capture the next observation after each step.
Marvis-dev writes a timestamped run directory with annotated logcat, action traces, screenshots, the final report, and a combined timeline. Add android-app-debug/ to your Android project's .gitignore.
android-app-debug/2026-05-28T22-15-04/
|-- logcat.log
|-- trace.jsonl
|-- screenshots/
| |-- step01_raw.jpg
| |-- step01_annotated.jpg
| `-- ...
|-- report.md
|-- timeline.md
`-- build_error.logYou need to reproduce a bug on a real Android UI path.
You want screenshots and logcat tied to every action.
You want an agent to validate one feature without manual adb juggling.