Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devices | List all connected Android devices with details |
| get_device_info | Get comprehensive device information |
| get_screen_specs | Get detailed screen specifications - useful for responsive design |
| screenshot | Take a screenshot of the device screen. Returns base64 encoded PNG image that can be viewed directly. |
| screenshot_to_file | Save screenshot to a local file |
| start_screen_record | Start recording the screen. Max duration is 180 seconds.
Recording runs in background - use stop_screen_record to stop early. |
| stop_screen_record | Stop any ongoing screen recording |
| pull_recordings | Pull all screen recordings from device to local directory |
| get_ui_hierarchy | Dump the complete UI hierarchy as XML. Shows all visible elements, their properties, bounds, and content descriptions. |
| get_clickable_elements | Get all clickable/interactive elements on screen with their coordinates. Perfect for understanding what can be tapped. |
| find_element_by_text | Find UI elements containing specific text. Returns element details including tap coordinates. |
| find_element_by_id | Find a UI element by its resource ID. Returns element details including tap coordinates. |
| tap | Tap at screen coordinates (x, y) |
| tap_element | Tap on an element by text or resource ID. More reliable than raw coordinates. |
| long_press | Long press at coordinates for specified duration |
| double_tap | Double tap at coordinates |
| swipe | Swipe from start to end coordinates |
| scroll_down | Scroll down on the current screen |
| scroll_up | Scroll up on the current screen |
| scroll_to_text | Scroll until text is found on screen |
| input_text | Type text into the currently focused field |
| clear_text_field | Clear text in current field by sending delete keys |
| press_key | Press a key by keycode name or number.
Common keycodes:
- HOME (3), BACK (4), CALL (5), ENDCALL (6)
- VOLUME_UP (24), VOLUME_DOWN (25), POWER (26)
- CAMERA (27), ENTER (66), DEL/BACKSPACE (67)
- TAB (61), SPACE (62), MENU (82)
- SEARCH (84), MEDIA_PLAY_PAUSE (85)
- PAGE_UP (92), PAGE_DOWN (93) |
| press_back | Press the back button |
| press_home | Press the home button |
| press_recent_apps | Open recent apps / app switcher |
| get_current_activity | Get the currently focused app and activity |
| launch_app | Launch an app by package name |
| launch_activity | Launch a specific activity |
| force_stop_app | Force stop an app |
| clear_app_data | Clear all data for an app (like fresh install) |
| list_packages | List installed packages, optionally filtered |
| get_app_info | Get detailed information about an installed app |
| install_apk | Install an APK file |
| uninstall_app | Uninstall an app |
| get_logcat | Get logcat output.
filter_level: V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal) |
| clear_logcat | Clear the logcat buffer |
| get_flutter_logs | Get Flutter-specific logs |
| get_crash_logs | Get crash/exception logs |
| get_anr_traces | Get ANR (Application Not Responding) traces |
| get_memory_info | Get memory usage information |
| get_cpu_info | Get CPU usage information |
| get_battery_stats | Get detailed battery statistics |
| get_gpu_info | Get GPU rendering information - useful for performance debugging |
| get_frame_stats | Get frame rendering stats for an app - useful for detecting jank |
| get_network_info | Get network connectivity information |
| toggle_wifi | Enable or disable WiFi |
| toggle_airplane_mode | Enable or disable airplane mode |
| set_proxy | Set HTTP proxy for the device - useful for debugging network requests |
| clear_proxy | Clear HTTP proxy settings |
| toggle_show_taps | Show visual feedback for taps - useful for demos/recordings |
| toggle_show_layout_bounds | Show layout bounds for all views - great for debugging layouts |
| set_animation_scale | Set animation scale (0 = off, 1 = normal, 0.5 = fast). Useful for speeding up UI tests. |
| rotate_screen | Rotate screen orientation.
orientation: 'portrait', 'landscape', 'reverse_portrait', 'reverse_landscape', or 'auto' |
| change_screen_size | Change screen resolution - useful for testing different screen sizes |
| reset_screen_size | Reset screen size to physical default |
| change_density | Change screen density - useful for testing different DPI |
| reset_density | Reset density to physical default |
| push_file | Push a file to the device |
| pull_file | Pull a file from the device |
| list_files | List files in a directory on the device |
| read_file | Read a text file from the device |
| shell_command | Execute an arbitrary ADB shell command. Use with caution - this gives full shell access. |
| reboot_device | Reboot the device.
mode: 'normal', 'bootloader', 'recovery' |
| get_flutter_performance_overlay | Get Flutter rendering performance info |
| check_flutter_app_running | Check if a Flutter app is currently in foreground |
| get_accessibility_info | Get accessibility service information - useful for a11y testing |
| set_font_scale | Set system font scale (0.85 = small, 1.0 = normal, 1.15 = large, 1.3 = largest). Useful for testing font scaling accessibility. |
| toggle_talkback | Enable or disable TalkBack accessibility service |
| toggle_high_contrast | Enable or disable high contrast text |
| toggle_color_inversion | Enable or disable display color inversion |
| set_location | Set GPS location (works on emulators) |
| send_sms | Send an SMS to the emulator (emulator only) |
| simulate_call | Simulate incoming call (emulator only) |
| capture_screen_for_comparison | Capture screenshot with metadata for visual comparison. Saves PNG and returns info for comparing with Figma designs. |
| get_all_text_on_screen | Extract all visible text from current screen. Useful for verifying text content matches designs. |
| get_element_colors_at_position | Note: This captures a screenshot and the caller can analyze the pixel.
For actual color extraction, use image processing on the screenshot. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |