Dev Tools for Android (DTA) MCP

Servidor MCP que expõe os runtimes de aplicativos Android para agentes de codificação.

Documentação

Ferramentas de Desenvolvimento para Android (DTA)

Maven Central JetBrains Marketplace Snyk Security

Um kit de ferramentas que dá aos assistentes de IA acesso direto a dispositivos Android por meio do Model Context Protocol. Seu agente de codificação pode ver a tela, ler o tráfego de rede, inspecionar árvores de layout, simular respostas e interagir com o aplicativo — a partir do Android Studio, do terminal ou de qualquer cliente MCP.

Video overview

Artigo: Depurando aplicativos Android com IA

Início Rápido

Opção A: Plugin do Android Studio

Install from JetBrains Marketplace

Ou: Configurações → Plugins → Marketplace → buscar "DTA"

O plugin incorpora o daemon, injeta automaticamente o sidekick em builds de depuração e fornece um inspetor com 4 abas (Layout, Rede, WebSocket, MCP) — sem necessidade de CLI ou configuração manual.

Opção B: CLI

brew tap yamsergey/packages
brew install dta-cli

Requisitos: Java 21+

Injeção automática (recomendado)

Nenhuma alteração no projeto é necessária. Use a CLI ou a ferramenta MCP run_app para compilar e iniciar seu aplicativo com o sidekick injetado automaticamente:

dta-cli run --project /path/to/your/android/project

Isso executa o Gradle com um script de inicialização que adiciona dta-sidekick como uma dependência de debugImplementation, compila o APK, instala-o no dispositivo e inicia a atividade principal. Seu assistente de IA pode fazer o mesmo por meio da ferramenta MCP run_app.

Manual (alternativa)

Se preferir adicionar o sidekick diretamente aos seus arquivos de build:

dependencies {
    debugImplementation 'io.github.yamsergey:dta-sidekick:0.9.36'
}

O sidekick é inicializado automaticamente via AndroidX Startup — nenhuma alteração de código além da dependência.

Conecte seu assistente de IA

Com o plugin do AS: abra a aba MCP, ative o servidor, escolha seu agente no menu suspenso — ele mostra o trecho de configuração exato para copiar e colar. Funciona com Claude Code, Cursor, Android Studio Gemini, Claude Desktop, VS Code e outros.

Sem o plugin (somente CLI):

Claude Code

claude mcp add dta -- dta-cli mcp

Cursor

Add DTA to Cursor

Claude Desktop

Adicione a ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "dta": {
      "command": "dta-cli",
      "args": ["mcp"]
    }
  }
}

O Que Seu Agente Pode Fazer?

Análise de Tela

O DTA retorna a hierarquia real da interface — classes de visualização, limites, posições, parâmetros de layout, dados específicos do Compose (nomes de composables, contagens de recomposição) e árvores DOM de WebViews e Chrome Custom Tabs. Diferente do adb shell uiautomator dump, que fornece uma árvore de acessibilidade semântica, seu agente obtém o quadro completo.

Análise de Rede

O sidekick registra automaticamente desde o início do aplicativo — requisições HTTP (OkHttp), conexões WebSocket, tráfego de Chrome Custom Tabs e requisições de rede do WebView. Sem botão "iniciar gravação", sem requisições perdidas. Seu agente pode consultar todo o histórico a qualquer momento.

Simulação (Mocking)

Crie regras de simulação para HTTP e WebSocket a partir de dados capturados ou do zero. Conecte adaptadores personalizados para controle programático:

Sidekick.configure(
    SidekickConfig.builder()
        .httpMockAdapter { transaction, proposedResponse ->
            proposedResponse.withBody("""{"message": "mocked"}""")
        }
        .build()
)

Compilação e Inicialização

A ferramenta run_app compila um APK com o sidekick injetado automaticamente, instala-o e inicia a atividade principal — tudo a partir de uma única chamada MCP. Sem configuração manual do Gradle. Se a ferramenta for bloqueada pelo sandbox do seu ambiente, ela retorna os comandos exatos do shell como alternativa.

Verificação

O agente pode tocar, deslizar, inserir texto e pressionar teclas — e depois verificar o estado da tela e o tráfego de rede para confirmar o comportamento. Um ciclo completo de inspecionar-simular-interagir-verificar sem sair da conversa.

Plugin do Android Studio

A janela de ferramentas do Inspetor DTA fornece quatro abas:

AbaRecursos
LayoutÁrvore de interface + captura de tela do dispositivo com destaque ao passar o mouse, clique para selecionar, sincronização bidirecional de seleção
RedeTabela de requisições HTTP com cabeçalhos, corpos, tempos; tráfego de Custom Tabs + WebView
WebSocketLista de conexões → lista de mensagens → detalhe da mensagem
MCPAtivar servidor HTTP, escolher porta, trechos de configuração por agente com copiar para área de transferência

O plugin injeta automaticamente o dta-sidekick em builds de depuração via script de inicialização do Gradle — sem alterações nos arquivos do seu projeto.

Interface Web do Inspetor

dta-cli inspector-web

Abra http://localhost:8080 para inspeção visual com os mesmos recursos — árvore de layout, rede, WebSocket, editor de regras de simulação.

O inspetor web permite comunicação bidirecional entre desenvolvedor e agente — selecione elementos com um clique em vez de descrevê-los em palavras.

Transportes MCP

TransporteComandoCaso de uso
stdiodta-cli mcpClaude Desktop, Cursor, qualquer cliente MCP stdio
HTTPdta-cli mcp serve --http --port 12321AS Gemini, Claude Code HTTP, qualquer cliente HTTP Streamable
PluginAtivar na aba MCPServidor HTTP incorporado no AS, sem necessidade de CLI

Módulos

MóduloDescrição
dta-pluginPlugin do Android Studio (inspetor de 4 abas + daemon incorporado + servidor MCP)
dta-cliInterface CLI (comandos mcp, inspector-web, run, inspect)
dta-mcpServidor MCP (transporte stdio + HTTP, definições de ferramentas)
dta-daemonDaemon HTTP Javalin (conexão sidekick, observador CDP, enriquecimento de layout)
dta-sidekickBiblioteca de inspeção no aplicativo (AAR Android, auto-inicialização via AndroidX Startup)
tools-androidIntegração principal da API Gradle Tooling
workspace-kotlinConversor de workspace.json para Kotlin Language Server

Referência CLI

dta-cli --help
dta-cli <command> --help

Licença

Apache License 2.0 — consulte LICENSE.txt