AutoMobile
# AutoMobile
> **β οΈ PROJECT ARCHIVED**
>
> **AutoMobile is no longer maintained or supported by Zillow. Zillow does not provide warranties or support for this project.**
>
> This repository has been archived and is read-only. For continued development and support, please see the community-maintained fork by Jason Pearson:
>
> **π [https://github.com/kaeawc/auto-mobile](https://github.com/kaeawc/auto-mobile)**
---

<a href="https://glama.ai/mcp/servers/@zillow/auto-mobile">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@zillow/auto-mobile/badge" alt="AutoMobile MCP server" />
</a>
AutoMobile is a set of tools for mobile automation. You can use it for UI testing or as a development workflow
assistant.
The first platform supported is Android with plans to extend to iOS.
## How it works
- π§ **[Powerful MCP Server](docs/features/mcp-server/index.md)**: AutoMobile provides comprehensive [actions](docs/features/mcp-server/actions.md) through MCP
tool calls with a fast [observations](docs/features/mcp-server/observation.md) to drive the
[interaction loop](docs/features/mcp-server/interaction-loop.md).
- πΊοΈ **Source Mapping**: Combining project path config with deep view hierarchy analysis we know exactly what code is being rendered.
- βοΈ **[Automated Test Authoring](docs/features/test-authoring/index.md)**: When used in test authoring mode AutoMobile will write tests for you. It is the only way it writes tests.
- π§ͺ **[Test Execution](docs/features/test-execution/index.md)** - Run tests locally or on CI without extra infrastructure.
- π± **Device Management**: Multi-device support with emulator control and app lifecycle management.
All together you get a system that looks like this:

## Documentation
- π» [Installation & Getting Started](docs/installation.md) - AutoMobile is [published on npm](https://www.npmjs.com/package/auto-mobile)
and we have instructions for agents we've tested with.
- π [Change Log](CHANGELOG.md) - coming soon
## Contributing
- [Code of Conduct](CODE_OF_CONDUCT.md)
- [Responsible disclosure & use](SECURITY.md)
- [Contributing](.github/CONTRIBUTING.md) - coming soon
# Acknowledgement
By continuing to use AutoMobile, [you acknowledge and agree to the warnings and responsible use requirements](SECURITY.md).TDQS
Scored across 38 tools
Most tools have distinct purposes, but there is notable overlap between pressButton and pressKey (both press hardware buttons, with pressKey described as the 'Maestro equivalent'), and between scroll and swipe (both handle directional movement, with swipe described as a 'unified scroll command'). These overlaps could cause confusion for an agent trying to select the right tool.
Tool names are mostly consistent with a verb_noun pattern (e.g., clearText, installApp, launchApp), but there are minor deviations like observe (verb only) and getAllConfigs (verb_adjective_noun). Overall, the naming is readable and follows a predictable convention with only a few outliers.
With 38 tools, the count is excessive for an Android automation server, making it feel heavy and potentially overwhelming. A more focused set of 10-20 tools would be more appropriate for this domain, as many tools could be consolidated or omitted without losing functionality.
The tool surface is highly complete for Android device automation, covering installation, configuration, navigation, input, interaction, and device management. It includes CRUD-like operations (e.g., installApp, listApps, terminateApp) and supports core workflows without obvious gaps, ensuring agents can handle most automation tasks effectively.