droidlume
Provides control over local Android virtual devices, including device lifecycle management, APK installation, app launching/stopping, UI input such as taps and swipes, screenshots, and diagnostics.
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., "@droidlumelist running Android virtual devices"
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.
DroidLume Agent Control
npm-distributed CLI and MCP server plus a standard AI Agent Skill for DroidLume.
DroidLume Agent Control lets Codex, Claude Code, Cursor, Gemini, and other AI agents control local Android virtual devices managed by DroidLume. It combines a structured CLI, a local MCP server, macOS App Intents, and an open Agent Skill without relying on fragile screen-coordinate automation.
What it can do
Create, clone, configure, start, stop, restart, repair, show, and delete Android devices
List available Mac cameras and configure per-device front and back camera sources
Install APK files through a streamed sandbox upload
List, launch, stop, and uninstall Android apps
Type text, tap coordinates, swipe, and send Android key events
Capture Android screenshots as PNG or native MCP image content
Create, list, restore, and delete Personal device snapshots
Export redacted DroidLume diagnostics
Return stable device IDs, typed JSON, command schemas, timeouts, and structured errors
Related MCP server: DeepADB
Requirements
Apple silicon Mac
macOS 14 or later
DroidLume 1.1.3 or later for host camera controls
Node.js 20 or later
Install
Install the CLI and MCP server from npm, then install the Skill for your agent:
npm install --global droidlume-agent-control
droidlume agent install codexOr run the maintained installer, which performs the same two steps:
curl -fsSL https://raw.githubusercontent.com/tageecc/droidlume-agent-control/main/install.sh | zsh -s -- codexTargets:
all | codex | claude | cursor | agentsVerify the installation:
droidlume version
droidlume status --format pretty
droidlume device list --format prettyMCP setup
Generate an MCP configuration snippet:
droidlume agent configRecommended configuration without a manually downloaded ZIP:
{
"mcpServers": {
"droidlume": {
"command": "npx",
"args": ["-y", "droidlume-agent-control", "mcp"]
}
}
}The MCP server uses stdio and exposes 28 typed tools, three resources, and an Android app inspection prompt. Screenshots are returned as native image/png MCP content.
CLI examples
List camera sources and assign a Mac camera to a stopped device:
droidlume camera list --format pretty
droidlume device stop DEVICE_ID
droidlume device configure DEVICE_ID --front-camera 'host:CAMERA_UNIQUE_ID'Start a device and open its window:
droidlume device start DEVICE_ID --show --timeout 180Install and launch an APK:
droidlume app install DEVICE_ID /absolute/path/application.apk --timeout 300
droidlume app launch DEVICE_ID com.example.appInspect the Android screen:
droidlume device screenshot DEVICE_ID --output screen.png
droidlume input tap DEVICE_ID 540 1200
droidlume device screenshot DEVICE_ID --output screen-after.pngSave and restore a Personal snapshot:
droidlume device stop DEVICE_ID
droidlume snapshot create DEVICE_ID --name "Before update"
droidlume snapshot list DEVICE_ID --format pretty
droidlume snapshot restore DEVICE_ID SNAPSHOT_ID --timeout 300Read the machine contract before automation:
droidlume schema
droidlume schema device startSee the complete command catalog, MCP guide, state and safety rules, and error reference.
Architecture
Codex / Claude / Gemini / Cursor / CI
│
Agent Skill / npm MCP / npm CLI
│
DroidLume Control API v1.2
http://127.0.0.1:55777
│
DroidLume RuntimeController
│
Managed Android devicesThe public CLI and MCP server communicate with the DroidLume host app over loopback. Device lifecycle, app installation, screenshots, input, and diagnostics still run through the same RuntimeController used by the native macOS interface.
Why DroidLume Agent Control
Generic Android automation often exposes raw ADB serials or depends on screenshot coordinates. DroidLume provides a product-level control contract instead:
stable device UUIDs instead of transient emulator serials;
lifecycle-aware start, stop, restart, repair, and Quick Boot handling;
streamed APK upload into the DroidLume sandbox;
structured command discovery and errors;
one access-controlled plane shared by the native app, CLI, MCP, and Shortcuts.
FAQ
Is this an Android emulator?
DroidLume is the Android virtual device application. This repository provides the npm CLI/MCP implementation and Agent Skill used to automate it; it is not a second macOS application.
Does it use raw ADB as the public interface?
No. AI clients call the versioned DroidLume control API. The host app owns its private ADB namespace and managed-device lifecycle.
Which AI tools are supported?
The Agent Skill follows the open SKILL.md format. The CLI works from any shell, and the MCP server works with MCP-capable clients including Codex, Claude Code, Cursor, and Gemini tooling.
Is the tool local?
Yes. The DroidLume host control endpoint listens on 127.0.0.1, and droidlume-mcp uses local stdio transport.
Links
License
The Agent Skill and documentation in this repository are available under the MIT License. DroidLume application binaries and trademarks remain subject to their respective product terms.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Control real Android and iOS devices with LLM agents — tap, swipe, type, automate flows.
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
Melaya is a remote MCP server. It gives an assistant hands on your own Android phone and browser: it reads the screen through the accessibility tree, then taps, types and navigates inside the apps and sites you allow-list, with no per-app API. It also builds, schedules and runs agent pipelines across 6k+ connected tools. OAuth 2.1, nothing to install.
Hosted MCP runtime where the agent is the operator: sign up by tool call, publish your own tools.
171
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables full Android control from any AI agent via 7 MCP tools, including screen capture, touch interaction, app management, and system control.MIT
- AlicenseBqualityAmaintenanceA comprehensive MCP server that enables AI agents to interact with Android devices through Android Debug Bridge (ADB), offering 198 tools for device control, app management, diagnostics, and more.1007515Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible agents to control an Android device over the network via ADB, providing tools for shell commands, screen capture, UI inspection, file operations, and input simulation.13MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with Android devices and emulators via ADB, providing tools for screenshots, UI inspection, touch and text input, app management, and device control.427916MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tageecc/droidlume-agent-control'
If you have feedback or need assistance with the MCP directory API, please join our Discord server