Leaderboard β’ Website β’ Paper β’ Docs β’ Issues
While maintaining the same level of rigorous, reproducible evaluation as AndroidWorld, MobileWorld offers a more challenging online mobile-use benchmark by introducing four additional features that better capture real-world agent behavior.
- π― Broad Real-World Coverage: 201 carefully curated tasks across 20 mobile applications
- π Long-Horizon Tasks: Multi-step reasoning and cross-app workflows
- π₯ Agent-User Interaction: Novel tasks requiring dynamic human-agent collaboration
- π§ MCP-Augmented Tasks: Support Model Context Protocol (MCP) to evaluate hybrid tool usage
Difficulty comparison between MobileWorld and AndroidWorld
- 2026-04-29: Head-to-Head Arena & Community Submissionsπ₯
- π New Arena Comparison Page: Compare any two models side-by-side at tongyi-mai.github.io/MobileWorld/arena. Renders both trajectories step-by-step with screenshots and thinking traces, plus a confusion matrix to filter tasks by outcome (both pass / both fail / one wins / the other wins).
- π€ Submit Your Results: Community-contributed trajectories are now accepted via
site/bundle_trajs.py. See docs/submit.md. - π Trajectories now browsable for: Claude-Opus-4.7 (56.4% GUI / 59.1% User-Int), Claude-Opus-4.6 (44.5% / 34.1%), Kimi-K2.6 (55.6% / 56.8%), Kimi-K2.5 (49.6% / 51.2%), Seed-2.0-Pro (63.2% / 61.4%).
- 2026-04-22: Added Claude-Opus-4.7 (56.4% GUI-Only) and Kimi-K2.6 (55.6% GUI-Only) to the leaderboard. Trajectory viewer now available for inspecting per-task agent traces.
- 2026-04-15: Important Fix β Mattermost Session Expiry
If you pulled the Docker image before this date, Mattermost task evaluations may produce false negatives due to expired authentication tokens in the emulator snapshot. Please
git pullthe latest codebase β the fix runs automatically during task initialization (no Docker image rebuild required).
See CHANGELOG.md for the full release history.
- Updates
- Overview
- Installation
- Quick Start
- Testing on Real Devices
- Available Commands
- Documentation
- Submit Your Results
- Benchmark Statistics
- Contact
- Acknowledgements
- Citation
MobileWorld is a comprehensive benchmark for evaluating autonomous mobile agents in realistic scenarios. Our benchmark features a robust infrastructure and deterministic evaluation methodology:
Containerized Environment
The entire evaluation environment runs in Docker-in-Docker containers, including:
- Rooted Android Virtual Device (AVD)
- Self-hosted application backends
- API server for orchestration
This design eliminates external dependencies and enables consistent deployment across different host systems.
Open-Source Applications
We build stable, reproducible environments using popular open-source projects:
- Mattermost: Enterprise communication (Slack alternative)
- Mastodon: Social media platform (X/Twitter alternative)
- Mall4Uni: E-commerce platform
Self-hosting provides full backend access, enabling precise control over task initialization and deterministic verification.
Snapshot-Based State Management
AVD snapshots capture complete device states, ensuring each task execution begins from identical initial conditions for reproducible results.
We implement multiple complementary verification methods for reliable assessment:
- Textual Answer Verification: Pattern matching and string comparison for information retrieval tasks
- Backend Database Verification: Direct database queries to validate state changes (messages, posts, etc.)
- Local Storage Inspection: ADB-based inspection of application data (calendar events, email drafts, etc.)
- Application Callbacks: Custom APIs capturing intermediate states for validation
- Docker with privileged container support
- KVM (Kernel-based Virtual Machine) for Android emulator acceleration
- Python 3.12+
- Linux host system (or Windows with WSL2 + KVM enabled), MacOS support is in progress.
# Clone the repository
git clone https://github.com/Tongyi-MAI/MobileWorld.git
cd MobileWorld
# Install dependencies with uv
uv syncCreate a .env file from .env.example in the project root:
cp .env.example .envEdit the .env file and configure the following parameters:
Required for Agent Evaluation:
API_KEY: Your OpenAI-compatible API key for the agent modelUSER_AGENT_API_KEY: API key for user agent LLM (used in agent-user interactive tasks)USER_AGENT_BASE_URL: Base URL for user agent API endpointUSER_AGENT_MODEL: Model name for user agent (e.g.,gpt-4.1)
Required for MCP-Augmented Tasks:
DASHSCOPE_API_KEY: DashScope API key for MCP servicesMODELSCOPE_API_KEY: ModelScope API key for MCP services
Example .env file:
API_KEY=your_api_key_for_agent_model
DASHSCOPE_API_KEY=dashscope_api_key_for_mcp
MODELSCOPE_API_KEY=modelscope_api_key_for_mcp
USER_AGENT_API_KEY=your_user_agent_llm_api_key
USER_AGENT_BASE_URL=your_user_agent_base_url
USER_AGENT_MODEL=gpt-4.1Note:
- MCP API keys are only required if you plan to run MCP-augmented tasks
- User agent settings are only required for agent-user interactive tasks
- See MCP Setup Guide for detailed MCP server configuration
sudo uv run mw env checkThis command verifies Docker, KVM support, and prompts to pull the latest mobile_world Docker image if needed.
sudo uv run mw env run --count 5 --launch-interval 20This launches 5 containerized Android environments with:
--count 5: Number of parallel containers--launch-interval 20: Wait 20 seconds between container launches
sudo uv run mw eval \
--agent_type qwen3vl \
--task ALL \
--max_round 50 \
--model_name Qwen3-VL-235B-A22B \
--llm_base_url [openai_compatible_url] \
--step_wait_time 3 \
--log_file_root traj_logs/qwen3_vl_logs \
--enable_mcp \
--enable_user_interactionFlags:
--enable_mcp: Include MCP-augmented tasks in evaluation--enable_user_interaction: Include agent-user interaction tasks. Without this flag, only GUI-only tasks are evaluated.
uv run mw logs view --log_dir traj_logs/qwen3_vl_logsOpens an interactive web-based visualization at http://localhost:8760 to explore task trajectories and results.
Beyond the containerized emulator, MobileWorld can drive real Android phones via ADB β evaluating frontier models (Claude, Gemini, Qwen, Kimi, Seed-2.0-Pro, β¦) as true end-to-end mobile agents. See docs/real-devices.md for the setup walkthrough and the per-model coordinate-system reference.
MobileWorld provides a comprehensive CLI (mw or mobile-world) with the following commands:
| Command | Description |
|---|---|
mw env check |
Check prerequisites (Docker, KVM) and pull latest image |
mw env run |
Launch Docker container(s) with Android emulators |
mw env list |
List running MobileWorld containers |
mw env rm |
Remove/destroy containers |
mw env info |
Get detailed info about a container |
mw env restart |
Restart the server in a container |
mw env exec |
Open a shell in a container |
mw eval |
Run benchmark evaluation suite |
mw test |
Run a single ad-hoc task for testing |
mw info task |
Display available tasks |
mw info agent |
Display available agents |
mw info app |
Display available apps |
mw info mcp |
Display available MCP tools |
mw logs view |
Launch interactive log viewer |
mw logs results |
Print results summary table |
mw logs export |
Export logs as static HTML site |
mw device |
View live Android device screen |
mw server |
Start the backend API server |
Use mw <command> --help for detailed options.
For detailed documentation, see the docs/ directory:
| Document | Description |
|---|---|
| Development Guide | Dev mode, debugging, container management workflows |
| Real Device Setup | Run frontier models on a physical Android phone |
| Submit Your Results | Bundle trajectories and contribute to the leaderboard |
| MCP Setup | Configure MCP servers for external tool integration |
| Windows Setup | WSL2 and KVM setup instructions for Windows |
| AVD Configuration | Customize and save Android Virtual Device snapshots |
Have a trajectory run from a new model or agent configuration? We accept community contributions to the leaderboard and arena.
- Bundle your
traj_logs/<run>directory withsite/bundle_trajs.py(use--with-screenshotsto include arena-viewable frames). - Open a GitHub issue attaching the resulting
.json.gz(+ optional.mp4) and a draftsite/leaderboard.jsonentry.
See docs/submit.md for the bundling commands, the full leaderboard-entry schema, and the asset-repo upload flow.
![]() |
![]() |
For questions, issues, or collaboration inquiries:
- GitHub Issues: Open an issue
- Email: Contact the maintainers
- Discord: Join our Discord server
- WeChat Group: Scan to join our discussion group
We thank Android World and Android-Lab for their open source contributions. We also thank all the open-source contributors!
If you find MobileWorld useful in your research, please cite our paper:
@inproceedings{kong2025mobileworld,
title={MobileWorld: Benchmarking Autonomous Mobile Agents in Agent-User Interactive, and MCP-Augmented Environments},
author={Quyu Kong and Xu Zhang and Zhenyu Yang and Nolan Gao and Chen Liu and Panrong Tong and Chenglin Cai and Hanzhang Zhou and Jianan Zhang and Liangyu Chen and Zhidan Liu and Steven Hoi and Yue Wang},
booktitle={Proceedings of the 64th Annual Meeting of the Association for Computational Linguistics (ACL)},
year={2026},
url={https://arxiv.org/abs/2512.19432},
}If you find MobileWorld helpful, please consider giving us a star β!




