droidlume

droidlume

Enables AI agents to control local Android virtual devices managed by DroidLume, including device lifecycle, app management, UI input, screenshots, and diagnostics through structured MCP tools.

Category
Visit Server

README

DroidLume Agent Control

English · 简体中文

npm-distributed CLI and MCP server plus a standard AI Agent Skill for DroidLume.

npm License: MIT macOS MCP Agent Skill

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
  • 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
  • Export redacted DroidLume diagnostics
  • Return stable device IDs, typed JSON, command schemas, timeouts, and structured errors

Requirements

  • Apple silicon Mac
  • macOS 14 or later
  • DroidLume 1.1 or later
  • 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 codex

Or 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 -- codex

Targets:

all | codex | claude | cursor | agents

Verify the installation:

droidlume version
droidlume status --format pretty
droidlume device list --format pretty

MCP setup

Generate an MCP configuration snippet:

droidlume agent config

Recommended configuration without a manually downloaded ZIP:

{
  "mcpServers": {
    "droidlume": {
      "command": "npx",
      "args": ["-y", "droidlume-agent-control", "mcp"]
    }
  }
}

The MCP server uses stdio and exposes 23 typed tools, three resources, and an Android app inspection prompt. Screenshots are returned as native image/png MCP content.

CLI examples

Start a device and open its window:

droidlume device start DEVICE_ID --show --timeout 180

Install and launch an APK:

droidlume app install DEVICE_ID /absolute/path/application.apk --timeout 300
droidlume app launch DEVICE_ID com.example.app

Inspect 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.png

Read the machine contract before automation:

droidlume schema
droidlume schema device start

See 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.0
          http://127.0.0.1:55777
                    │
          DroidLume RuntimeController
                    │
             Managed Android devices

The 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 control 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured