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
- Clonar o projeto
git clone https://github.com/yourusername/uiautomator2-mcp.git
cd uiautomator2-mcp
- 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 MCPcommand: 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 projetorun: Comando de execução do uvsrc/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:
- Executar diretamente com Python:
{
"mcpServers": {
"android": {
"command": "python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
]
}
}
}
- Usar ambiente virtual:
{
"mcpServers": {
"android": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
]
}
}
}
- 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
- Instalar dependências de desenvolvimento
pip install -e ".[dev]"
- Executar testes
pytest
Contribuição
Sinta-se à vontade para enviar Issues e Pull Requests.
Licença
MIT License