Allows managing local Android Virtual Devices (AVDs), including creating, starting, stopping, and deleting emulators, as well as monitoring and setting hardware sensor data like acceleration and gyroscope.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@android-emulator-mcpstart my Pixel 8 emulator and wait for it to boot"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
android-emulator-mcp
MCP server for managing local Android emulators (AVDs). Companion to adb-mcp — this project handles emulator lifecycle, while adb-mcp handles device interaction.
How it works
Claude Code ←→ android-emulator-mcp ←→ Android SDK tools (emulator, avdmanager, sdkmanager)
↓
Local Android Emulator
↓
adb-mcp (device interaction)Prerequisites
Install the Android command-line tools (requires Java):
brew install --cask temurin # or any other JDK
brew install --cask android-commandlinetools
brew install --cask android-platform-toolsHomebrew installs platform-tools separately from the SDK root, but the emulator expects them together. Create a symlink:
ln -s /opt/homebrew/Caskroom/android-platform-tools/*/platform-tools \
/opt/homebrew/share/android-commandlinetools/platform-toolsSet ANDROID_HOME in your shell:
export ANDROID_HOME="/opt/homebrew/share/android-commandlinetools"Setup
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"android-emulator": {
"command": "uvx",
"args": ["android-emulator-mcp"]
}
}
}Or install locally for development:
{
"mcpServers": {
"android-emulator": {
"command": "uv",
"args": ["run", "--directory", "/path/to/android-emulator-mcp", "android-emulator-mcp"]
}
}
}Tools
Tool | Description |
| List all existing AVDs with their details |
| Create a new AVD (auto-installs system image) |
| Delete an existing AVD |
| Start an AVD and wait for boot |
| Stop a running emulator |
| Check which emulators are running |
| List available and installed system images |
| List all available sensors and their status |
| Get current values for a sensor |
| Set sensor values (acceleration, gyroscope, etc.) |
Usage examples
"Create an Android emulator and start it"
"List my existing emulators"
"Start the test emulator headless"
"What system images do I have installed?"
"Stop all running emulators"
"Set the accelerometer to simulate the phone lying flat"
"What sensors are available on the emulator?"
Development
# Install dependencies
uv sync
# Run the server locally
uv run android-emulator-mcp
# Run tests
uv run pytestLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.