Docker-Android
An Android emulator in Docker with an MCP server: the agent drives the device over adb, opens apps and pages, presses buttons
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Drives the emulator and launches apps in it
- Requires Docker privileges and access to the KVM device
Install
Manual install
docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0Starts the Android emulator; the noVNC interface is at http://localhost:6080.
This is third-party code. Review the repository files before installing.
What it does
Docker-Android runs an Android emulator in a container with noVNC access, video recording and adb connectivity. It ships an MCP server (beta) that gives an agent control over that emulator: list devices, launch an app by name, open a URL in the browser, read the current foreground window, press a hardware button and pause between steps. The server talks to the emulator over adb and uses the http transport. The main use case is Android app development and testing, and the MCP adds agent-side control on top.
Who it is for. For QA engineers and mobile developers who want an agent-driven Android emulator in a container.
Good fit when
- You want the agent to launch apps and run flows on an Android emulator
- You need a reproducible Docker emulator for tests
- You want the emulator in a pipeline with video recording and noVNC
Not a fit when
- The host has no KVM virtualization: the image expects Linux with /dev/kvm
- You need a lightweight MCP without running a heavy emulator
Example request
Open the settings app on the emulator and show which window is currently activeLimitations
The MCP server is beta and offers a basic action set. The emulator needs Linux with KVM support (/dev/kvm); on macOS and Windows you need an Ubuntu virtual machine. Images and device profiles are set through environment variables. Control goes over adb, so the MCP only works while the emulator container is running.
How to disable. Stop and remove the Docker-Android and MCP server containers and delete the server entry from the MCP client config.
MCP
- Transport
- http
- Authentication
- not required
| Environment variables | |
|---|---|
| EMULATOR_HOST | Address of the running emulator for the adb connection |
| EMULATOR_PORT | The emulator adb port |
Security check
- Drives the emulator and launches apps in it
- Requires Docker privileges and access to the KVM device
README in short
The README describes Docker-Android as an image for everything Android: development, emulation with device profiles, testing via Appium and Espresso, noVNC access, log sharing and cloud integration. It ships beta versions of an MCP server and an AI agent. It shows container run commands, a table of images by Android version, KVM setup in WSL2 and build and UI-test scenarios. The MCP server in the mcp folder is built on FastMCP and drives the emulator over adb.
FAQ
What can the MCP server do?
List devices, launch an app, open a URL in the browser, read the active window, press a hardware button and pause between steps.
Do I need a separate emulator?
Yes. The MCP drives the emulator over adb, so the emulator container must be running and reachable.
Related
An MCP server and CLI from Sentry for building, running and testing Xcode iOS and macOS projects from an AI agent
Paul Hudson's skill for reviewing and writing SwiftUI for iOS 26: deprecated APIs, data flow, navigation, accessibility, performance
Expo's official agent skills: building, deploying, updating and debugging Expo and EAS apps
An open phone agent model and framework: it reads the screen and taps through Android, HarmonyOS and iOS apps from a text command