Use Cloud Devices from your terminal, GitHub Actions, or an MCP client.
brew tap margelo/adc https://github.com/margelo/adc.git
brew install margelo/adc/adcFor device connections, install Android Platform Tools if adb is missing.
brew install --cask android-platform-toolsRun adc login for a Platform-connected workspace, or set ADC_API_KEY to a Cloud Devices API key. Use adc run to acquire a device, run a command with ANDROID_SERIAL set, and release the device when the command finishes.
adc run --name smoke -- adb shell getprop sys.boot_completedGive the runner access to adb and store your Cloud Devices API key as the ADC_API_KEY repository secret. Add this step to your workflow.
- uses: margelo/adc@v0.2.0
with:
api-key: ${{ secrets.ADC_API_KEY }}
command: adb shell getprop sys.boot_completedThe action uses the same CLI and releases the device when the command exits. Use api-url to select a different API environment.
Install uv and create a Cloud Devices API key in Platform. Add this configuration to an MCP client that supports local stdio servers.
{
"mcpServers": {
"cloud-devices": {
"command": "uvx",
"args": [
"--python",
"3.12",
"--from",
"agent-device-cloud-cli[mcp] @ git+https://github.com/margelo/adc.git@v0.2.0",
"adc-mcp"
],
"env": {
"ADC_API_KEY": "<your-cloud-devices-api-key>"
}
}
}
}The server can provision, inspect, list, connect to, and release devices, and report usage. Install Android Platform Tools on the same machine to run the adb command returned by connect_device. Release the device when finished.
python3 scripts/build-release.py distUpload the generated archive to the matching GitHub release. Update the formula's version, URL, checksum, and Python resources before publishing a new release.