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 Claude Code and Kiro to interact with Android devices through natural language.
Install with MCP support:
pip3 install androidviewclient --upgrade
Start CulebraTester2 on your device:
Check the details at How to run CulebraTester2 ?
Configure your AI assistant:
Claude Code — register the server with one command:
claude mcp add culebratester2 --env CULEBRATESTER2_URL=http://localhost:9987 -- culebra-mcp
Or add it to .mcp.json in your project root, so everyone who clones the project gets it:
{
"mcpServers": {
"culebratester2": {
"command": "culebra-mcp",
"env": {
"CULEBRATESTER2_URL": "http://localhost:9987"
}
}
}
}
Kiro — add the same entry to .kiro/settings/mcp.json or ~/.kiro/settings/mcp.json.
Start testing with natural language:
The MCP server provides 20 tools for Android automation:
Element-based interactions:
Coordinate-based interactions:
Device actions:
For detailed MCP configuration options, see the MCP Configuration Guide.
Quick reference:
| Claude Code | Kiro | |
|---|---|---|
| Project config | .mcp.json (repository root) | .kiro/settings/mcp.json |
| User config | ~/.claude.json (via claude mcp add --scope user) | ~/.kiro/settings/mcp.json |
| Tool pre-approval | permissions.allow in .claude/settings.json | autoApprove in the server entry |
| Example | examples/mcp_config.json | examples/mcp_config_kiro.json |
examples/test_calculator_mcp.pyCULEBRATESTER2_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
Overall
Maintained
Code review
Latest release
Releases this year
97 followers · starred Apr 2018
123 followers · starred Nov 2024
123 followers · starred Feb 2019
18 followers · starred Aug 2013
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 Claude Code and Kiro to interact with Android devices through natural language.
Install with MCP support:
pip3 install androidviewclient --upgrade
Start CulebraTester2 on your device:
Check the details at How to run CulebraTester2 ?
Configure your AI assistant:
Claude Code — register the server with one command:
claude mcp add culebratester2 --env CULEBRATESTER2_URL=http://localhost:9987 -- culebra-mcp
Or add it to .mcp.json in your project root, so everyone who clones the project gets it:
{
"mcpServers": {
"culebratester2": {
"command": "culebra-mcp",
"env": {
"CULEBRATESTER2_URL": "http://localhost:9987"
}
}
}
}
Kiro — add the same entry to .kiro/settings/mcp.json or ~/.kiro/settings/mcp.json.
Start testing with natural language:
The MCP server provides 20 tools for Android automation:
Element-based interactions:
Coordinate-based interactions:
Device actions:
For detailed MCP configuration options, see the MCP Configuration Guide.
Quick reference:
| Claude Code | Kiro | |
|---|---|---|
| Project config | .mcp.json (repository root) | .kiro/settings/mcp.json |
| User config | ~/.claude.json (via claude mcp add --scope user) | ~/.kiro/settings/mcp.json |
| Tool pre-approval | permissions.allow in .claude/settings.json | autoApprove in the server entry |
| Example | examples/mcp_config.json | examples/mcp_config_kiro.json |
examples/test_calculator_mcp.pyCULEBRATESTER2_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
Overall
Maintained
Code review
Latest release
Releases this year
97 followers · starred Apr 2018
123 followers · starred Nov 2024
123 followers · starred Feb 2019
18 followers · starred Aug 2013