Metadata-Version: 2.4
Name: appilot
Version: 0.1.7
Summary: Autopilot for mobile apps - MCP server for AI-driven Android and iOS automation
Project-URL: Homepage, https://github.com/anthropics/appilot
Project-URL: Documentation, https://appilot.dev/docs
Project-URL: Repository, https://github.com/anthropics/appilot
Project-URL: Issues, https://github.com/anthropics/appilot/issues
Author: Appilot Team
License-Expression: MIT
License-File: LICENSE
Keywords: ai-testing,android,appilot,appium,automation,claude,ios,mcp,mobile-testing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.11
Requires-Dist: aiofiles>=23.0
Requires-Dist: anyio>=4.0
Requires-Dist: appium-python-client>=4.0
Requires-Dist: click>=8.0
Requires-Dist: httpx>=0.27
Requires-Dist: mcp>=1.0.0
Requires-Dist: packaging>=23.0
Requires-Dist: pillow>=10.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: rich>=13.0
Requires-Dist: selenium>=4.0
Requires-Dist: structlog>=24.0
Requires-Dist: toml>=0.10
Provides-Extra: all
Requires-Dist: mitmproxy>=10.0; extra == 'all'
Requires-Dist: mypy>=1.10; extra == 'all'
Requires-Dist: opencv-python>=4.9; extra == 'all'
Requires-Dist: pre-commit>=3.0; extra == 'all'
Requires-Dist: pytest-asyncio>=0.23; extra == 'all'
Requires-Dist: pytest-cov>=4.0; extra == 'all'
Requires-Dist: pytest>=8.0; extra == 'all'
Requires-Dist: ruff>=0.4; extra == 'all'
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: security
Requires-Dist: mitmproxy>=10.0; extra == 'security'
Provides-Extra: visual
Requires-Dist: opencv-python>=4.9; extra == 'visual'
Description-Content-Type: text/markdown

# Appilot

[![PyPI version](https://badge.fury.io/py/appilot.svg)](https://badge.fury.io/py/appilot)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)

**Autopilot for mobile apps** - An MCP server that lets Claude automate Android and iOS apps.

## Installation

### Using uvx (Recommended)

No installation needed - runs directly:

```bash
# Run appilot
uvx appilot@latest serve

# Update to latest version
uvx --refresh appilot@latest --version
```

### Using pip

```bash
# Install
pip install appilot

# Update to latest version
pip install --upgrade appilot
```

## Quick Start with Claude Code

### Using uvx

```bash
claude mcp add appilot -s user -- uvx appilot@latest serve
```

### Using pip

```bash
claude mcp add appilot -s user -- appilot serve
```

Restart Claude Code. Done.

## What You Can Do

Talk to Claude naturally:

> "Connect to my iPhone and take a screenshot"

> "Find the login button and tap it"

> "Check the app's memory usage"

> "Swipe up to scroll the list"

> "Type my email in the input field"

## Requirements

- **Node.js 18+** - `brew install node` (macOS) or [download](https://nodejs.org/)
- **Xcode** (iOS) - App Store
- **Android SDK** (Android) - [Install Guide](https://developer.android.com/studio)

## CLI Commands

### Using uvx

```bash
uvx appilot@latest serve          # Start MCP server
uvx appilot@latest devices        # List devices
uvx appilot@latest health         # Health check
uvx appilot@latest status         # System status
uvx appilot@latest --version      # Check version
uvx --refresh appilot@latest --version  # Update & check version
```

### Using pip

```bash
appilot serve          # Start MCP server
appilot devices        # List devices
appilot health         # Health check
appilot status         # System status
appilot --version      # Check version
pip install -U appilot # Update to latest
```

## MCP Tools

| Category        | Tools                                                    |
|-----------------|----------------------------------------------------------|
| **Session**     | `create_session`, `end_session`, `list_devices`          |
| **Screen**      | `take_screenshot`, `get_screen_size`, `get_orientation`  |
| **Elements**    | `find_element`, `find_elements`, `get_page_source`       |
| **Actions**     | `tap`, `type_text`, `swipe`, `long_press`                |
| **App**         | `install_app`, `launch_app`, `terminate_app`             |
| **Performance** | `get_memory_info`, `get_cpu_info`, `get_battery_info`    |

## Troubleshooting

**MCP not connecting?**
```bash
uvx appilot@latest --version   # Test if appilot works
# or
appilot --version
```

**No devices found?**
```bash
# iOS - boot a simulator
xcrun simctl boot "iPhone 16 Pro"

# Android - check connection
adb devices
```

**Appium issues?**
```bash
curl http://127.0.0.1:4723/status   # Check if running
```

## Links

- [PyPI](https://pypi.org/project/appilot/)
- [MCP Protocol](https://modelcontextprotocol.io/)
