Skip to main content

MUA Driver

PyPI Python unit License: MIT

Control Android and iOS devices from an AI agent over MCP, a JSON CLI, or a small Python SDK. MUA runs no model of its own.

Install

python3 -m pip install mua-driver
mua-driver install

install checks for adb, Xcode command line tools, and idb, and offers to install what is missing. It does not install full Xcode, an Android emulator, or a signed WebDriverAgent; see docs/ios.md for the iPhone steps.

The Android accessibility helper APK is included. MUA installs and enables it on the first helper-backed action, so there is no Gradle build.

Over MCP, screenshots are downscaled to a 1568 px long edge by default. Use max_dimension to change that, or 0 to keep the original.

MCP

opencode mcp add mua --global -- mua-driver mcp

Or add this to the client configuration:

{
  "mcpServers": {
    "mua": {
      "command": "mua-driver",
      "args": ["mcp"]
    }
  }
}

Quick start

mua-driver call list_devices
mua-driver call screenshot --device emulator-5554 --output /tmp/screen.png
mua-driver call tap_element --device emulator-5554 --platform android \
  --using text --value "Continue"
from mua_driver import MuaDriver

driver = MuaDriver.create()
driver.tap_element(device_id="emulator-5554", platform="android",
                   using="text", value="Continue")

mua-driver call --help lists every tool. mua is a shorter alias for the same command.

Verification

Android: 161 of 163 verdicts verified. iOS: 125 of 159 verified; the other 34 are recorded as requires_setup or unsupported with a reason. See DRIVER_VERIFICATION.md.

Docs

Metadata

Release files for mua-driver 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mua-driver 0.3.2
File Size Uploaded Provenance
mua_driver-0.3.2.tar.gz 1.2 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mua-driver 0.3.2
File Interpreter ABI Platform
mua_driver-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / mua_driver-0.3.2.tar.gz

Download URL mua_driver-0.3.2.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
64c4644851eb46769265014ab4b23a4d564e6b15367f4c4d6d205ee07919df89
BLAKE2b-256 checksum
How to use checksums
243d1a142192b5dba1a5dceae7d69d399d9140379814da1203b55748017f18a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / mua_driver-0.3.2-py3-none-any.whl

Download URL mua_driver-0.3.2-py3-none-any.whl
Size 946.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f422e1d923f38bc59a3ebcd8bd8ccefd511104ddf0546ca2b582b41f41691bb3
BLAKE2b-256 checksum
How to use checksums
eb4ffa1df38eaf682a0469f94a9aef96d046765725ae183cdca7ca8d829a21e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for mua-driver 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page