Android Emulator MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "ANDROID_HOME=${ANDROID_HOME}" android-emulator -- uvx android-emulator-mcp
Required:ANDROID_HOME
README.md

MCP server for managing local Android emulators (AVDs).

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-tools

Homebrew 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-tools

Set 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_avds List all existing AVDs with their details
create_avd Create a new AVD (auto-installs system image)
delete_avd Delete an existing AVD
start_emulator Start an AVD and wait for boot
stop_emulator Stop a running emulator
emulator_status Check which emulators are running
list_system_images List available and installed system images
sensor_status List all available sensors and their status
sensor_get Get current values for a sensor
sensor_set 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 pytest

License

MIT

Tools (10)

list_avdsList all existing AVDs with their details
create_avdCreate a new AVD (auto-installs system image)
delete_avdDelete an existing AVD
start_emulatorStart an AVD and wait for boot
stop_emulatorStop a running emulator
emulator_statusCheck which emulators are running
list_system_imagesList available and installed system images
sensor_statusList all available sensors and their status
sensor_getGet current values for a sensor
sensor_setSet sensor values (acceleration, gyroscope, etc.)

Environment Variables

ANDROID_HOMErequiredPath to the Android command-line tools directory

Configuration

claude_desktop_config.json
{"mcpServers": {"android-emulator": {"command": "uvx", "args": ["android-emulator-mcp"]}}}

Try it

Create an Android emulator and start it
List my existing emulators
Start the test emulator headless
Stop all running emulators
Set the accelerometer to simulate the phone lying flat

Frequently Asked Questions

What are the key features of Android Emulator?

Manage Android Virtual Device (AVD) lifecycles including creation, deletion, and status checks. Start and stop Android emulators directly from Claude. List and manage installed Android system images. Interact with virtual sensors like accelerometer and gyroscope. Monitor emulator boot status and running instances.

What can I use Android Emulator for?

Automating the setup of test environments for Android application development. Simulating different device orientations and sensor inputs for mobile app testing. Managing multiple emulator instances for cross-version compatibility testing. Integrating emulator lifecycle management into AI-assisted development workflows.

How do I install Android Emulator?

Install Android Emulator by running: uvx android-emulator-mcp

What MCP clients work with Android Emulator?

Android Emulator works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Android Emulator docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare