Enables AI agents to capture screenshots and manage connected Android devices and emulators through ADB commands for UI analysis and automation.
Android UI Assist MCP Server
Model Context Protocol server for capturing Android device screenshots and device management for AI analysis. Supports Claude Desktop, Gemini CLI, and GitHub Copilot integration.
Features
Screenshot capture from Android devices and emulators
Connected device listing and management
MCP protocol integration with major AI platforms
Docker deployment support
Comprehensive error handling with timeout management
Secure stdio communication
Table of Contents
Prerequisites
Component | Version | Installation |
Node.js | 18.0+ | |
npm | 8.0+ | Included with Node.js |
ADB | Latest |
Android Device Setup
Enable Developer Options: Settings > About Phone > Tap "Build Number" 7 times
Enable USB Debugging: Settings > Developer Options > USB Debugging
Verify connection:
adb devices
Installation
NPM Installation
From Source
AI Agent Configuration
Claude Desktop
Create or edit %APPDATA%\Claude\claude_desktop_config.json
:
For local development:
Restart Claude Desktop to apply configuration.
Gemini CLI
Install and configure:
Method 1: Command Line Configuration
Method 2: Configuration File
Create ~/.gemini/settings.json
(Windows: %USERPROFILE%\.gemini\settings.json
):
For local development:
Verify: gemini mcp list
GitHub Copilot (VS Code)
Create .vscode/settings.json
in your project:
Docker Deployment
Docker Compose
Configure AI platform for Docker:
Manual Docker Build
Available Tools
Tool | Description | Parameters |
| Captures device screenshot |
(optional) |
| Lists connected devices | None |
Tool Schemas
take_android_screenshot
list_android_devices
Usage
Request screenshots or device information through your AI agent:
"Take a screenshot of my Android device"
"List connected Android devices"
"Capture screen from device emulator-5554"
Troubleshooting
ADB Issues
ADB not found: Verify ADB is installed and in PATH
No devices: Check USB connection and debugging authorization
Device unauthorized: Disconnect/reconnect USB, check device authorization prompt
Screenshot failed: Ensure device is unlocked and properly connected
Connection Issues
Verify
adb devices
shows your device as "device" statusRestart ADB server:
adb kill-server && adb start-server
Check USB debugging permissions on device
Development
Build Commands
Project Structure
Performance
5-second timeout on ADB operations
In-memory screenshot processing
Stdio communication for security
Minimal privilege execution
License
MIT License - see LICENSE file for details.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables AI agents to capture screenshots from Android devices and emulators, and manage connected devices for UI analysis and testing. Supports device listing, screenshot capture, and integrates with Claude Desktop, Gemini CLI, and GitHub Copilot.