MCP server for visual Android device control via ADB — screenshots, taps, UI inspection for Cursor and AI agents
20 tools with consistent naming (adb_* prefix, verb-noun pattern) and descriptions in Portuguese. All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not formally documented, responses are inferred from code (imageResult, textResult helpers). Error handling is basic (generic error wrapping). No tool annotations (readOnlyHint/destructiveHint). Parameter descriptions are adequate but lack format constraints (e.g., no regex for device_id, no bounds for numeric grid_step). Missing idempotency guidance for write operations. Average tool description ~80 chars, within baseline but terse.
Busca elementos na UI por texto, resource-id, classe ou content-desc e retorna coordenadas
Retorna o pacote e activity do app em foco
Obtem largura, altura, densidade e rotacao da tela do dispositivo
Digita texto no campo focado. Espacos sao convertidos automaticamente.
Instala um APK no dispositivo
Envia tecla do Android. Use nome (BACK, HOME, ENTER) ou codigo numerico.
Lista dispositivos Android conectados via ADB
Output schemas not formally documented. Responses inferred from code (imageResult, textResult, errorResult helpers). LLMs cannot plan downstream tool calls without knowing return structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes (adb_tap vs adb_shell) without explicit hints.
Error handling is generic (errorResult wraps all failures). No recovery guidance, no categorization (retryable vs fatal). LLMs cannot self-correct or decide next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Pressiona e segura em coordenadas especificas
Baixa arquivo do dispositivo para o computador
Envia arquivo do computador para o dispositivo
Captura a tela do dispositivo e retorna a imagem para visualizacao no Cursor. Inclui dimensoes para mapear coordenadas.
Captura a tela com grade de coordenadas sobreposta. Ideal para identificar posicoes x,y para cliques.
Executa comando shell arbitrario no dispositivo
Inicia uma activity ou app no dispositivo
Para a execucao de um app
Executa gesto de arrastar/deslizar na tela
Clica/toca em coordenadas absolutas da tela do dispositivo (pixels)
Converte coordenadas de uma screenshot redimensionada para coordenadas reais do dispositivo e executa o tap
Clica usando porcentagem da tela (0-100). Util quando voce sabe a posicao relativa na imagem.
Obtem hierarquia de UI com bounds e coordenadas centrais de cada elemento
Parameter descriptions lack format constraints. device_id is optional but no guidance on when to omit. grid_step has default=100 but no min/max bounds. LLMs may pass invalid values.
adb_shell accepts arbitrary shell commands with no input validation or sanitization. High injection risk if LLM is tricked into passing malicious payloads.