UIAutomator2 MCP Server

Automatize e controle dispositivos Android usando o framework UIAutomator2.

Documentação

UIAutomator2 MCP Server

Servidor MCP UIAutomator2 implementado com base no framework FastMCP, fornecendo capacidades de controle automatizado de dispositivos Android.

Recursos

  • Gerenciamento de dispositivos Android

    • Execução de comandos ADB
    • Gerenciamento de pacotes de aplicativos
    • Captura de tela
  • Operações de automação de UI

    • Clique em elementos
    • Entrada de texto
    • Deslizar na tela
    • Aguardar elementos
    • Rolagem de página
  • Gerenciamento de aplicativos

    • Iniciar/parar aplicativos
    • Informações do aplicativo atual
    • Gerenciamento de serviços UIAutomator2

Requisitos de ambiente

  • Python 3.10+
  • Ferramenta ADB
  • Dispositivo Android ou emulador

Instalação

  1. Clonar o projeto
git clone https://github.com/yourusername/uiautomator2-mcp.git
cd uiautomator2-mcp
  1. Instalar dependências
pip install -e .

Configuração do MCP

1. Configurar mcp.json

Crie ou edite o arquivo mcp.json no diretório de configuração do Claude Desktop (geralmente em ~/.cursor/mcp.json ou %APPDATA%\Cursor\mcp.json):

{
  "mcpServers": {
    "android": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/uiautomator2-mcp",  // 替换为你的项目路径
        "run",
        "src/server.py"
      ]
    }
  }
}

Descrição da configuração:

  • android: Identificador único do servidor MCP
  • command: Comando usado para executar Python (aqui usa uv, mas também pode usar python)
  • args: Argumentos de linha de comando
    • --directory: Caminho do diretório do projeto
    • run: Comando de execução do uv
    • src/server.py: Caminho do arquivo de entrada do servidor

2. Opções de configuração

Você pode ajustar as seguintes configurações conforme necessário:

  1. Executar diretamente com Python:
{
  "mcpServers": {
    "android": {
      "command": "python",
      "args": [
        "/path/to/uiautomator2-mcp/src/server.py"
      ]
    }
  }
}
  1. Usar ambiente virtual:
{
  "mcpServers": {
    "android": {
      "command": "/path/to/venv/bin/python",
      "args": [
        "/path/to/uiautomator2-mcp/src/server.py"
      ]
    }
  }
}
  1. Adicionar variáveis de ambiente:
{
  "mcpServers": {
    "android": {
      "command": "python",
      "args": [
        "/path/to/uiautomator2-mcp/src/server.py"
      ],
      "env": {
        "PYTHONPATH": "/path/to/uiautomator2-mcp",
        "ANDROID_HOME": "/path/to/android-sdk"
      }
    }
  }
}

3. Configuração de múltiplos servidores

Você pode definir vários servidores MCP no mesmo arquivo de configuração:

{
  "mcpServers": {
    "android": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/uiautomator2-mcp",
        "run",
        "src/server.py"
      ]
    },
    "android-debug": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/uiautomator2-mcp",
        "run",
        "src/server.py",
        "--debug"
      ]
    }
  }
}

Usando as ferramentas

Após a configuração, você pode usar diretamente todas as ferramentas disponíveis no Claude:

# 初始化UIAutomator2
await mcp.call_tool("mcp_android_init_uiautomator2", {})

# 启动应用
await mcp.call_tool("mcp_android_start_app", {
    "package_name": "com.example.app"
})

# 点击元素
await mcp.call_tool("mcp_android_click_element", {
    "text": "登录"
})

Desenvolvimento

  1. Instalar dependências de desenvolvimento
pip install -e ".[dev]"
  1. Executar testes
pytest

Contribuição

Sinta-se à vontade para enviar Issues e Pull Requests.

Licença

MIT License