ADB MCP Server

Interaja com dispositivos Android usando o Android Debug Bridge (ADB).

Documentação

ARQUIVADO -- Use mobile-device-mcp

Fiquei bastante surpreso que este repositório alcançou 50 estrelas (!) o ecossistema às vezes é bastante generoso, obrigado por estrelar!

Tenho trabalhado em algo mais rápido, mais escalável e que também funciona com iOS, dê uma olhada em mobile-device-mcp.

E deixe algumas ⭐ também :)

ADB MCP Server

smithery badge

Um servidor MCP (Model Context Protocol) para interagir com dispositivos Android através do ADB. Esta ferramenta baseada em TypeScript fornece uma ponte entre modelos de IA e a funcionalidade de dispositivos Android.

Recursos

  • 📱 Gerenciamento de Dispositivos - Listar e interagir com dispositivos Android conectados
  • 📦 Instalação de Aplicativos - Implantar arquivos APK em dispositivos conectados
  • 📋 Registros - Acessar registros do dispositivo através do logcat
  • 🔄 Transferência de Arquivos - Enviar e receber arquivos entre o dispositivo e o host
  • 📸 Interação com UI - Capturar capturas de tela e analisar a hierarquia da UI
  • 🔧 Execução de Comandos Shell - Executar comandos personalizados no dispositivo

Pré-requisitos

  • Node.js (v16 ou superior recomendado, testado com Node.js v16, v18 e v20)
  • ADB (Android Debug Bridge) instalado e no seu PATH
  • Um dispositivo Android ou emulador conectado via USB ou rede com depuração USB habilitada
  • Permissão para acessar o dispositivo (autorização de depuração aceita no dispositivo)

Instalação

Instalando via Smithery

Para instalar o ADB Android Device Server para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @srmorete/adb-mcp --client claude

Instalação Manual

# Clone the repository
git clone https://github.com/srmorete/adb-mcp.git
cd adb-mcp

# Install dependencies
npm install

# Build the TypeScript code
npm run build

# Run the server
npx adb-mcp

Configuração

Configuração do Caminho do ADB

O servidor usa caminhos ADB padrão. Para localização ADB personalizada:

export ADB_PATH=/path/to/adb
npx adb-mcp

Configuração do MCP

Adicione a configuração do servidor ADB MCP:

{
  "mcpServers": {
    "adb": {
      "command": "npx",
      "args": [
        "adb-mcp"
      ]
    }
  }
}

Uso

Iniciando o Servidor

IMPORTANTE: O servidor deve estar em execução antes de usar qualquer ferramenta ADB.

Inicie o servidor usando:

npx adb-mcp

Você deve ver:

[INFO] ADB MCP Server connected and ready

Mantenha esta janela do terminal aberta enquanto usa as ferramentas ADB.

Ferramentas Disponíveis

Todas as ferramentas estão disponíveis com a seguinte convenção de nomenclatura:

📱 Gerenciamento de Dispositivos

  • adb_devices - Listar dispositivos conectados
  • adb_shell - Executar comandos shell em um dispositivo

📦 Gerenciamento de Aplicativos

  • adb_install - Instalar um arquivo APK usando um caminho de arquivo local
  • adb_package_manager - Executar comandos do Package Manager (pm) - listar pacotes, conceder/revogar permissões, gerenciar aplicativos
  • adb_activity_manager - Executar comandos do Activity Manager (am) - iniciar atividades, transmitir intents, controlar o comportamento do aplicativo

📋 Registros

  • adb_logcat - Visualizar registros do dispositivo com filtragem opcional

🔄 Transferência de Arquivos

  • adb_pull - Puxar arquivos de um dispositivo
  • adb_push - Enviar arquivos para um dispositivo

🔍 Interação com UI

  • dump_image - Tirar uma captura de tela da tela atual
  • inspect_ui - Obter a hierarquia da UI em formato XML (mais útil para interação com IA)

Solução de Problemas

Se as ferramentas não estiverem funcionando:

  • Problemas com o Servidor:

    • Certifique-se de que o servidor está em execução (npx adb-mcp)
    • Verifique a saída do servidor para mensagens de erro
    • Tente logs detalhados: LOG_LEVEL=3 npx adb-mcp
    • Mate processos pendurados:
      • ps aux | grep "adb-mcp" | grep -v grep
      • depois kill -9 [PID]
  • Conexão do Dispositivo:

    • Verifique a conexão com adb_devices
    • Se "unauthorized", aceite a autorização de depuração no dispositivo
    • Verifique as conexões USB/rede
    • Tente reiniciar o ADB: adb kill-server && adb start-server
  • Problemas com ADB:

    • Verifique a instalação do ADB: adb version
  • Configuração do Dispositivo:

    • Use um emulador (foi construído usando um), para dispositivos reais talvez tente isto:
      • Certifique-se de que a depuração USB está habilitada
      • Para versões mais recentes do Android, habilite "USB debugging (Security settings)"
      • Tente uma porta USB ou cabo diferente
      • ou me avise em uma issue

Compatibilidade

  • Android 8.0 e superior
  • Clientes MCP incluindo Claude no Cursor IDE
  • Foi construído no macOS, mas deve funcionar em qualquer sistema compatível com POSIX (Linux etc).
  • Não tentei no Windows, mas talvez funcione.

Contribuindo

  • Contribuições são bem-vindas! Envie um Pull Request.
  • Para mudanças significativas, abra uma issue para discutir primeiro.
  • Você pode, é claro, também fazer um fork
  • Nota: este projeto foi vibe-coded então se você notar algo estranho... bem, agora você sabe 🙂

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

Agradecimentos