Metadata-Version: 2.5
Name: mua-driver
Version: 0.3.2
Summary: Mobile-use driver for Android and iOS devices.
Project-URL: Homepage, https://github.com/slm/mua
Project-URL: Repository, https://github.com/slm/mua
Project-URL: Issues, https://github.com/slm/mua/issues
Project-URL: Documentation, https://github.com/slm/mua/tree/main/docs
Project-URL: Changelog, https://github.com/slm/mua/blob/main/CHANGELOG.md
Author: MUA Driver contributors
License-Expression: MIT
License-File: LICENSE
Keywords: android,computer-use,ios,mcp,mobile-automation
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Requires-Dist: pillow>=10.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Provides-Extra: image
Description-Content-Type: text/markdown

# MUA Driver

[![PyPI](https://img.shields.io/pypi/v/mua-driver.svg)](https://pypi.org/project/mua-driver/)
[![Python](https://img.shields.io/pypi/pyversions/mua-driver.svg)](https://pypi.org/project/mua-driver/)
[![unit](https://github.com/slm/mua/actions/workflows/verify.yml/badge.svg)](https://github.com/slm/mua/actions/workflows/verify.yml)
[![License: MIT](https://img.shields.io/pypi/l/mua-driver.svg)](https://pypi.org/project/mua-driver/)

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

```bash
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](https://github.com/slm/mua/blob/main/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

```bash
opencode mcp add mua --global -- mua-driver mcp
```

Or add this to the client configuration:

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

## Quick start

```bash
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"
```

```python
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](https://github.com/slm/mua/blob/main/DRIVER_VERIFICATION.md).

## Docs

- [CLI](https://github.com/slm/mua/blob/main/docs/cli.md)
- [MCP](https://github.com/slm/mua/blob/main/docs/mcp.md)
- [Python SDK](https://github.com/slm/mua/blob/main/docs/python-sdk.md)
- [Android helper](https://github.com/slm/mua/blob/main/docs/android-helper.md)
- [iOS](https://github.com/slm/mua/blob/main/docs/ios.md)
- [Roadmap](https://github.com/slm/mua/blob/main/ROADMAP.md)
- [Security](https://github.com/slm/mua/blob/main/SECURITY.md)
- [Contributing](https://github.com/slm/mua/blob/main/CONTRIBUTING.md)
