Skip to main content

MCP Server for Droidrun

Project description

Droidrun MCP Server

A Model Context Protocol (MCP) server for Droidrun, enabling LLMs (like OAI, Claude and Gemini) to control Android devices directly.

Features

  • Natural Language Control: "Open Settings and turn on Wi-Fi".
  • Visual Understanding: Analyzes screenshots to navigate the UI.
  • Trajectory Management: Automatically saves session history and screenshots.
  • Safe Execution: Runs locally on your machine.

Prerequisites

  • Python 3.10+
  • ADB installed and running (adb devices should show your device).

Installation

Option 1: Configure Your Client (Easiest setup)

Add the server to your MCP client configuration (e.g., claude_desktop_config.json or Gemini CLI config or Codex CLI config).

Option 2 Using uvx

This is the easiest way to run the server without managing virtual environments manually.

uvx droidrun-mcp

Option 3: Using pip

You can also install it directly from PyPI:

pip install droidrun-mcp

Note: Ensure you have ADB installed and your Android device connected.

Important: You must provide your API keys and (optionally) configuration paths via environment variables.

{
  "mcpServers": {
    "droidrun": {
      "command": "uvx",
      "args": [
        "droidrun-mcp"
      ],
      "env": {
        "GOOGLE_API_KEY": "your-key-here",
        "OPENAI_API_KEY": "your-key-here",
        "DROIDRUN_TRAJECTORY_PATH": "~/.droidrun-mcp/trajectories",
        "DROIDRUN_CONFIG_PATH": "~/.droidrun-mcp/config.yaml"
      }
    }
  }
}

[!TIP] We recommend copying the default config.yaml to ~/.droidrun-mcp/config.yaml so you can customize it easily.

Environment Variables

Variable Description Default
DROIDRUN_TRAJECTORY_PATH Where to save logs/screenshots. ~/.droidrun-mcp/trajectories
DROIDRUN_CONFIG_PATH Path to a custom config.yaml. config.yaml (in package)
GOOGLE_API_KEY Required for Gemini models. -
OPENAI_API_KEY Required for OpenAI models. -

Available Tools

  • execute_task(instruction): Executes a natural language command on the device.
    • instruction: "Open YouTube and search for cats"
    • apk_path: (Optional) Only for testing specific APKs.
  • get_trajectory(session_id): Retrieves the event log for a session.
  • get_screenshots(session_id): Gets screenshots from a session.
  • get_single_screenshot(session_id, step): Gets a specific screenshot.

Development

To contribute to this project:

  1. Clone the repo:
    git clone https://github.com/droidrun/droidrun-mcp.git
    
  2. Install dependencies:
    uv sync --all-extras
    
  3. Run locally:
    fastmcp run droidrun_mcp/server.py
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

droidrun_mcp-0.1.4.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

droidrun_mcp-0.1.4-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file droidrun_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: droidrun_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for droidrun_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a910015ed50a9e0507302db89ad7e62baf95274f9c5807aa58b27140a0b58b0a
MD5 2644fc49b83b264546ffdeebf9e0eaa8
BLAKE2b-256 077f2c17e5f72c5b9e70699c03c161bded8ad7b32f87418f6e07e7a8cb7bd12c

See more details on using hashes here.

Provenance

The following attestation bundles were made for droidrun_mcp-0.1.4.tar.gz:

Publisher: publish.yml on droidrun/droidrun-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file droidrun_mcp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: droidrun_mcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for droidrun_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9697ff97eac90ca9d397e0b99e94f7eff75ba48dfa8df3498f8e1c960cbfe859
MD5 8b5f55d61c8aa7d15f1f297e446229de
BLAKE2b-256 6fae162173cc1599f579a68c81968d550bd4baabef0b9b79a7df57bcaf409988

See more details on using hashes here.

Provenance

The following attestation bundles were made for droidrun_mcp-0.1.4-py3-none-any.whl:

Publisher: publish.yml on droidrun/droidrun-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page