NexusController is a comprehensive and professional-grade Android device automation platform that bridges the gap between manual testing and continuous integration. Built for QA engineers, developers, and DevOps professionals, NexusController provides a unified solution for Android device control, UI automation, and test orchestration.
- Universal Device Control: Connect to and manage multiple Android devices simultaneously via ADB with robust error handling and device state management
- Intelligent UI Automation: Create, record, and execute Maestro flows for reliable UI testing that survives app updates and device variations
- Jupyter Integration: Leverage interactive Python notebooks for exploratory testing, automation script development, and results analysis
- CI/CD Ready: Integrate with your continuous integration pipeline through command-line tools and GitHub Actions workflows
- Model Context Protocol (MCP) Support: Seamlessly integrate with LLM tools and assistants via standard MCP interface
- Comprehensive Reporting: Generate detailed HTML reports with screenshots, error logs, and performance metrics
- Reliability: Built with robust error detection, recovery mechanisms, and logging to handle real-world testing scenarios
- Flexibility: Works with any Android app or device without requiring code modifications or instrumentation
- Productivity: Interactive menus, intuitive Jupyter interface, and reusable components accelerate test development
- Enterprise Ready: Designed with security, scalability and commercial deployment requirements in mind
- Developer-Focused: Clear documentation, modular architecture, and extensible design make it easy to adapt to your needs
- Python 3.8+
- ADB (Android Debug Bridge) installed and in PATH
- Connected Android device with USB debugging enabled
- Maestro CLI (optional, for enhanced UI automation)
- Installation:
pip install nexuscontroller- Basic Usage:
from nexuscontroller import AndroidController
# Initialize controller
controller = AndroidController()
# List connected devices
devices = controller.get_devices()
# Take a screenshot
controller.take_screenshot(devices[0])
# Run a UI test
controller.run_maestro_flow(devices[0], "flows/login_test.yaml")- Interactive Mode:
python -m nexuscontrollerNexusController is designed to work seamlessly with AI assistants through the Model Context Protocol (MCP). You can integrate NexusController with your AI tools to automate mobile testing and device control.
The MCP server can be run in several ways after installation:
# Method 1: Using the module
python -m nexuscontroller.mcp
# Method 2: Using the CLI command (available after pip install)
nexus-mcp
# Method 3: Using the included script
./start_mcp_server.pyAll methods support these options:
--install-deps: Install required dependencies--debug: Enable debug logging
// mcp.json configuration for AI assistants
{
"mcpServers": {
"nexuscontroller": {
"command": "python3",
"args": ["-m", "nexuscontroller.mcp"],
"transport": "stdio"
}
}
}For more details, see the MCP Server Documentation.
NexusController is available under MIT license with special provisions for commercial use by large enterprises. See the LICENSE file for details.
✅ Project Completed!
The NexusController project has been successfully implemented with the following components:
- Core Android device control functionality
- Model Context Protocol (MCP) integration
- Temporary file handling with proper permissions
- Screenshot and screen recording capabilities
- UI element inspection and manipulation
- Maestro flow execution support
You can now build and release this library to PyPI.
For full documentation, examples, and API reference, visit our documentation site.
We welcome contributions from the community! See our contribution guidelines for more information.