A powerful Android device control and automation platform with advanced Maestro UI testing integration and Model Context Protocol support
Project description
NexusController - Advanced Android Automation Platform
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.
Key Features
- 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
Why NexusController?
- 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
Prerequisites
- 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)
Quick Start
- 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 nexuscontroller
AI Integration
NexusController 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.
MCP Server Usage
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.py
All methods support these options:
--install-deps: Install required dependencies--debug: Enable debug logging
Quick Integration Example
// mcp.json configuration for AI assistants
{
"mcpServers": {
"nexuscontroller": {
"command": "python3",
"args": ["-m", "nexuscontroller.mcp"],
"transport": "stdio"
}
}
}
For more details, see the MCP Server Documentation.
Commercial Use
NexusController is available under MIT license with special provisions for commercial use by large enterprises. See the LICENSE file for details.
Project Status
✅ 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.
Documentation
For full documentation, examples, and API reference, visit our documentation site.
Contributing
We welcome contributions from the community! See our contribution guidelines for more information.
Acknowledgments
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nexuscontroller-0.1.3.tar.gz.
File metadata
- Download URL: nexuscontroller-0.1.3.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2755f061db768ec369239e14379dd873e80a66317fc22606005d08701fa8b30
|
|
| MD5 |
69147062db921945bfe3ddc013908ecc
|
|
| BLAKE2b-256 |
31e3048177718caaeef7dc3edcbc51077054b226b5b35591618ca2aa0f894928
|
File details
Details for the file nexuscontroller-0.1.3-py3-none-any.whl.
File metadata
- Download URL: nexuscontroller-0.1.3-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b1bc05321c2527d92c72c90ee43b9bd539ddbe430ad2de99a3452449a895439
|
|
| MD5 |
930198b2ddd0d4fb638ca1c5e8f38811
|
|
| BLAKE2b-256 |
8de8b842f0e4d3649da455a964c521c594716a77dfb0f6dd7ef3506aa2d11692
|