UIAutomator2 MCP Server
Automatiza y controla dispositivos Android usando el framework UIAutomator2.
Documentación
UIAutomator2 MCP Server
Servidor MCP UIAutomator2 implementado sobre el framework FastMCP, que proporciona capacidades de control automatizado de dispositivos Android.
Características
-
Gestión de dispositivos Android
- Ejecución de comandos ADB
- Gestión de paquetes de aplicaciones
- Capturas de pantalla
-
Operaciones de automatización de UI
- Clic en elementos
- Entrada de texto
- Deslizamiento de pantalla
- Espera de elementos
- Desplazamiento de página
-
Gestión de aplicaciones
- Iniciar/detener aplicaciones
- Información de la aplicación actual
- Gestión del servicio UIAutomator2
Requisitos del entorno
- Python 3.10+
- Herramienta ADB
- Dispositivo Android o emulador
Instalación
- Clonar el proyecto
git clone https://github.com/yourusername/uiautomator2-mcp.git
cd uiautomator2-mcp
- Instalar dependencias
pip install -e .
Configuración de MCP
1. Configurar mcp.json
Crea o edita el archivo mcp.json en el directorio de configuración de Claude Desktop (normalmente en ~/.cursor/mcp.json o %APPDATA%\Cursor\mcp.json):
{
"mcpServers": {
"android": {
"command": "uv",
"args": [
"--directory",
"/path/to/uiautomator2-mcp", // 替换为你的项目路径
"run",
"src/server.py"
]
}
}
}
Descripción de la configuración:
android: Identificador único del servidor MCPcommand: Comando para ejecutar Python (aquí se usa uv, también se puede usar python)args: Argumentos de línea de comandos--directory: Ruta del directorio del proyectorun: Comando de ejecución de uvsrc/server.py: Ruta del archivo de entrada del servidor
2. Opciones de configuración
Puedes ajustar la siguiente configuración según sea necesario:
- Ejecutar directamente con Python:
{
"mcpServers": {
"android": {
"command": "python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
]
}
}
}
- Usar un entorno virtual:
{
"mcpServers": {
"android": {
"command": "/path/to/venv/bin/python",
"args": [
"/path/to/uiautomator2-mcp/src/server.py"
]
}
}
}
- Añadir variables de entorno:
{
"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. Configuración de múltiples servidores
Puedes definir múltiples servidores MCP en el mismo archivo de configuración:
{
"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"
]
}
}
}
Uso de herramientas
Una vez completada la configuración, puedes usar directamente todas las herramientas disponibles en 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": "登录"
})
Desarrollo
- Instalar dependencias de desarrollo
pip install -e ".[dev]"
- Ejecutar pruebas
pytest
Contribuciones
Se aceptan Issues y Pull Requests.
Licencia
MIT License