AndroidViewClient/culebra was initially conceived as an extension to monkeyrunner but has since evolved
into a versatile pure Python tool.
It streamlines test script creation for Android applications by automating tasks and simplifying interactions. This test framework:
🛎 |A new Kotlin backend is under development to provide more functionality and improve performance.
Take a look at CulebraTester2 and 20.x.y-series prerelease. | ---|----------------------------------------------------------------------------------------------|
NOTE: Pypi statistics are broken see here. The new statistics can be obtained from BigQuery.
As of February 2024 we have reached:

Thanks to all who made it possible.
pip3 install androidviewclient --upgrade
Or check the wiki for more alternatives.
NEW! AndroidViewClient now includes a Model Context Protocol (MCP) server that enables AI assistants like Kiro to interact with Android devices through natural language.
Install with MCP support:
bash
pip3 install androidviewclient --upgrade
Start CulebraTester2 on your device:
Check the details at How to run CulebraTester2 ?
Add to .kiro/settings/mcp.json or ~/.kiro/settings/mcp.json:
json
{
"mcpServers": {
"culebratester2": {
"command": "culebra-mcp",
"env": {
"CULEBRATESTER2_URL": "http://localhost:9987"
}
}
}
}
The MCP server provides 20 tools for Android automation:
Element-based interactions: - Find elements by text or resource ID - Click, long-click, enter text, clear text - Navigate with back/home buttons - Launch applications
Coordinate-based interactions: - Click/long-click at coordinates - Swipe gestures
Device actions: - Wake/sleep device - Get current app - Force stop apps - Take screenshots
For detailed MCP configuration options, see the MCP Configuration Guide.
Quick reference:
- User-level config (kiro-cli): ~/.kiro/settings/mcp.json
- Workspace config (Kiro IDE): .kiro/settings/mcp.json
- Examples: examples/mcp_config.json
- Usage examples: examples/test_calculator_mcp.py
CULEBRATESTER2_URL: Base URL for CulebraTester2 (default: http://localhost:9987)CULEBRATESTER2_TIMEOUT: HTTP timeout in seconds (default: 30)CULEBRATESTER2_DEBUG: Enable debug logging (1, true, or yes)🚀 Check Examples and Screencasts and videos page to see it in action.
Detailed information can be found in the AndroidViewClient/culebra wiki
$ claude mcp add AndroidViewClient \
-- python -m otcore.mcp_server <graph>