/
by pedro-rivas
MCP server for Android automation with UI interaction, screenshots, and device control
Server configuration and capabilities from the MCP manifest
Size: 8,088 bytes (2,022 tokens)
Tools Found: 12
Analysis ID: 2vxt45ns
MCP server for Android automation with UI interaction, screenshots, and device control
Stars
Registry ID: 1358a9af-ccab-47f5-8176-1892168954f0
Added to Registry: 9/21/2025
Last Updated: 9/22/2025
Last Seen: 9/22/2025
Default Branch: main
Last Push: 9/18/2025
Open Issues: 0
Historical performance and growth metrics over time
{ "name": "io.github.pedro-rivas/android-puppeteer-mcp", "tags": [ "MCP", "Android", "Automation", "Screenshots", "Device Control" ], "tools": [ { "name": "list_emulators", "description": "List all available Android emulators and devices with their name, ID, status, and dimensions", "input_schema": { "type": "object", "required": [], "properties": {} }, "output_schema": { "type": "object", "properties": { "count": { "type": "integer" }, "devices": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "width": { "type": "integer" }, "height": { "type": "integer" }, "status": { "type": "string" }, "dimensions": { "type": "string" } } } }, "success": { "type": "boolean" } } } }, { "name": "take_screenshot", "description": "Take a screenshot for the specified device/emulator. If no device_id is provided, uses the default device.", "input_schema": { "type": "object", "required": [], "properties": { "name": { "type": "string" }, "device_id": { "type": "string" }, "annotate_elements": { "type": "boolean" } } }, "output_schema": { "type": "object", "properties": { "message": { "type": "string" }, "success": { "type": "boolean" }, "filename": { "type": "string" }, "filepath": { "type": "string" }, "device_id": { "type": "string" }, "ui_elements": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "index": { "type": "integer" }, "clickable": { "type": "boolean" }, "focusable": { "type": "boolean" }, "class_name": { "type": "string" }, "bounding_box": { "type": "object", "properties": { "x1": { "type": "integer" }, "x2": { "type": "integer" }, "y1": { "type": "integer" }, "y2": { "type": "integer" } } }, "center_coordinates": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } } } } } }, "ui_elements_count": { "type": "integer" } } } }, { "name": "press", "description": "Tap on specific coordinates on the Android screen. Use duration for long press (in milliseconds).", "input_schema": { "type": "object", "required": [ "x", "y" ], "properties": { "x": { "type": "integer" }, "y": { "type": "integer" }, "duration": { "type": "integer" }, "device_id": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" }, "message": { "type": "string" }, "success": { "type": "boolean" }, "device_id": { "type": "string" }, "action_type": { "type": "string" } } } }, { "name": "long_press", "description": "Long press on specific coordinates on the Android screen.", "input_schema": { "type": "object", "required": [ "x", "y" ], "properties": { "x": { "type": "integer" }, "y": { "type": "integer" }, "device_id": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" }, "message": { "type": "string" }, "success": { "type": "boolean" }, "device_id": { "type": "string" }, "action_type": { "type": "string" }, "duration_ms": { "type": "integer" } } } }, { "name": "get_ui_elements_info", "description": "Get detailed information about all interactive UI elements on the screen including their coordinates and properties.", "input_schema": { "type": "object", "required": [], "properties": { "device_id": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "count": { "type": "integer" }, "message": { "type": "string" }, "success": { "type": "boolean" }, "elements": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "index": { "type": "integer" }, "clickable": { "type": "boolean" }, "focusable": { "type": "boolean" }, "class_name": { "type": "string" }, "bounding_box": { "type": "object", "properties": { "x1": { "type": "integer" }, "x2": { "type": "integer" }, "y1": { "type": "integer" }, "y2": { "type": "integer" } } }, "center_coordinates": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } } } } } }, "device_id": { "type": "string" } } } }, { "name": "get_device_dimensions", "description": "Get the dimensions of the Android device/emulator screen.", "input_schema": { "type": "object", "required": [], "properties": { "device_id": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "width": { "type": "integer" }, "height": { "type": "integer" }, "success": { "type": "boolean" }, "device_id": { "type": "string" }, "dimensions": { "type": "string" } } } }, { "name": "press_back", "description": "Press the hardware back button on the Android device/emulator.", "input_schema": { "type": "object", "required": [], "properties": { "device_id": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "message": { "type": "string" }, "success": { "type": "boolean" }, "device_id": { "type": "string" }, "action_type": { "type": "string" } } } }, { "name": "swipe", "description": "Swipe horizontally or vertically on the Android screen.", "input_schema": { "type": "object", "required": [], "properties": { "x1": { "type": "integer" }, "x2": { "type": "integer" }, "y1": { "type": "integer" }, "y2": { "type": "integer" }, "distance": { "type": "integer" }, "duration": { "type": "integer" }, "device_id": { "type": "string" }, "direction": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "message": { "type": "string" }, "success": { "type": "boolean" }, "distance": { "type": "integer" }, "duration": { "type": "integer" }, "device_id": { "type": "string" }, "direction": { "type": "string" }, "action_type": { "type": "string" }, "coordinates": { "type": "object", "properties": { "end": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } } }, "start": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } } } } } } } }, { "name": "type_text", "description": "Type text into the currently focused input field on the Android device/emulator.", "input_schema": { "type": "object", "required": [ "text" ], "properties": { "text": { "type": "string" }, "device_id": { "type": "string" }, "clear_first": { "type": "boolean" } } }, "output_schema": { "type": "object", "properties": { "text": { "type": "string" }, "message": { "type": "string" }, "success": { "type": "boolean" }, "device_id": { "type": "string" }, "action_type": { "type": "string" }, "cleared_first": { "type": "boolean" } } } }, { "name": "scroll_element", "description": "Scroll a specific UI element in the given direction for a specified distance.", "input_schema": { "type": "object", "required": [ "element", "direction" ], "properties": { "element": { "type": "string" }, "distance": { "type": "integer" }, "duration": { "type": "integer" }, "device_id": { "type": "string" }, "direction": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "element": { "type": "object", "properties": { "name": { "type": "string" }, "class_name": { "type": "string" }, "bounding_box": { "type": "object", "properties": { "x1": { "type": "integer" }, "x2": { "type": "integer" }, "y1": { "type": "integer" }, "y2": { "type": "integer" } } } } }, "message": { "type": "string" }, "success": { "type": "boolean" }, "distance": { "type": "integer" }, "duration": { "type": "integer" }, "device_id": { "type": "string" }, "direction": { "type": "string" }, "action_type": { "type": "string" }, "scroll_coordinates": { "type": "object", "properties": { "end": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } } }, "start": { "type": "object", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } } } } }, "is_scrollable_element": { "type": "boolean" } } } }, { "name": "record_video", "description": "Start recording a video using scrcpy. The video will be saved to the videos directory.", "input_schema": { "type": "object", "required": [], "properties": { "bitrate": { "type": "string" }, "filename": { "type": "string" }, "device_id": { "type": "string" }, "resolution": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "bitrate": { "type": "string" }, "message": { "type": "string" }, "success": { "type": "boolean" }, "filename": { "type": "string" }, "filepath": { "type": "string" }, "device_id": { "type": "string" }, "process_id": { "type": "integer" }, "resolution": { "type": "string" }, "recording_key": { "type": "string" } } } }, { "name": "stop_video", "description": "Stop the active video recording for the specified device.", "input_schema": { "type": "object", "required": [], "properties": { "device_id": { "type": "string" } } }, "output_schema": { "type": "object", "properties": { "message": { "type": "string" }, "success": { "type": "boolean" }, "filename": { "type": "string" }, "filepath": { "type": "string" }, "device_id": { "type": "string" }, "file_exists": { "type": "boolean" }, "file_size_bytes": { "type": "integer" }, "duration_seconds": { "type": "number" } } } } ], "version": "1.0.1", "categories": [ "Automation", "Android", "UI Interaction" ], "description": "MCP server for Android automation with UI interaction, screenshots, and device control" }
Forks
Watchers
Contributors
Last Push: 9/18/2025
Open Issues: 0