DroidMind
Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
DROIDMIND_HOST | No | Host address to bind the SSE server | localhost |
DROIDMIND_PORT | No | Port number to use for the SSE server | 6463 |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
debug_app_crash | Generate a prompt to debug an app crash. Args: app_package: The package name of the crashed app |
analyze_battery_usage | Generate a prompt to analyze battery usage. |
analyze_device_performance | Generate a prompt to analyze overall device performance. |
analyze_network_issues | Generate a prompt to diagnose network connectivity problems. |
optimize_app_startup | Generate a prompt to analyze and optimize app startup time. Args: app_package: The package name of the app to optimize |
analyze_app_permissions | Generate a prompt to analyze an app's permission usage. Args: app_package: The package name of the app to analyze |
create_ui_test_script | Generate a prompt to create a UI test script for an app. Args: app_package: The package name of the app to test |
analyze_ui_accessibility | Generate a prompt to evaluate app accessibility. Args: app_package: The package name of the app to evaluate |
system_cleanup | Generate a prompt for system cleanup and optimization. |
security_audit | Generate a prompt for performing a device security audit. |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
devices://list |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
install_app | Install an APK on the device. Args: serial: Device serial number apk_path: Path to the APK file (local to the server) reinstall: Whether to reinstall if app exists grant_permissions: Whether to grant all requested permissions Returns: Installation result message |
uninstall_app | Uninstall an app from the device. Args: serial: Device serial number package: Package name to uninstall keep_data: Whether to keep app data and cache directories Returns: Uninstallation result message |
start_app | Start an app on the device. Args: serial: Device serial number package: Package name to start activity: Optional activity name to start (if empty, launches the default activity) Returns: Result message |
stop_app | Force stop an app on the device. Args: serial: Device serial number package: Package name to stop Returns: Result message |
clear_app_data | Clear app data and cache for the specified package. Args: serial: Device serial number package: Package name to clear data for Returns: Result message |
list_packages | List installed packages on the device. Args: serial: Device serial number include_system_apps: Whether to include system apps in the list Returns: Formatted list of installed packages |
device_properties | Get detailed properties of a specific device. Args: serial: Device serial number Returns: Formatted device properties as text |
device_logcat | Get recent logcat output from a device. Args: serial: Device serial number lines: Number of recent lines to fetch (default: 1000, max recommended: 20000) Higher values may impact performance and context window limits. filter_expr: Optional filter expression (e.g., "ActivityManager:I *:S") Use to focus on specific tags or priority levels max_size: Maximum output size in characters (default: 100000) Set to None for unlimited (not recommended) Returns: Recent logcat entries |
devicelist | List all connected Android devices. Returns: A formatted list of connected devices with their basic information. |
connect_device | Connect to an Android device over TCP/IP. Args: ip_address: The IP address of the device to connect to port: The port to connect to (default: 5555) Returns: A message indicating success or failure |
disconnect_device | Disconnect from an Android device. Args: serial: Device serial number Returns: Disconnection result message |
reboot_device | Reboot the device. Args: serial: Device serial number mode: Reboot mode - "normal", "recovery", or "bootloader" Returns: Reboot result message |
capture_bugreport | Capture a bug report from a device. Bug reports are comprehensive diagnostic information packages that include system logs, device state, running processes, and more. Args: serial: Device serial number ctx: MCP context output_path: Where to save the bug report (leave empty to return as text) include_screenshots: Whether to include screenshots in the report timeout_seconds: Maximum time to wait for the bug report to complete (in seconds) Returns: Path to the saved bug report or a summary of the report contents |
dump_heap | Capture a heap dump from a running process on the device. Heap dumps are useful for diagnosing memory issues, leaks, and understanding object relationships in running applications. Args: serial: Device serial number ctx: MCP context package_or_pid: App package name or process ID to dump output_path: Where to save the heap dump (leave empty for default location) native: Whether to capture a native heap dump (vs Java heap) timeout_seconds: Maximum time to wait for the heap dump to complete (in seconds) Returns: Path to the saved heap dump or an error message |
list_directory | List contents of a directory on the device. Args: serial: Device serial number path: Directory path to list Returns: Directory listing |
push_file | Upload a file to the device. Args: serial: Device serial number local_path: Path to the local file device_path: Destination path on the device Returns: Upload result message |
pull_file | Download a file from the device to the local machine. Args: serial: Device serial number device_path: Path to the file on the device local_path: Destination path on the local machine Returns: Download result message |
delete_file | Delete a file or directory from the device. Args: serial: Device serial number path: Path to the file or directory to delete Returns: Deletion result message |
create_directory | Create a directory on the device. Args: serial: Device serial number path: Path to the directory to create Returns: Result message |
file_exists | Check if a file exists on the device. Args: serial: Device serial number path: Path to the file on the device Returns: True if the file exists, False otherwise |
read_file | Read the contents of a file on the device. Args: serial: Device serial number device_path: Path to the file on device max_size: Maximum file size to read in bytes (default: 100KB) Files larger than this will return an error message instead Returns: File contents as text or error message |
write_file | Write text content to a file on the device. Args: serial: Device serial number device_path: Path to the file on device content: Text content to write to the file Returns: Writing result message |
screenshot | Get a screenshot from a device. Args: serial: Device serial number ctx: MCP context quality: JPEG quality (1-100, lower means smaller file size) Returns: The device screenshot as an image |
shell_command | Run a shell command on the device. Args: serial: Device serial number command: Shell command to run max_lines: Maximum lines of output to return (default: 1000) Use positive numbers for first N lines, negative for last N lines Set to None for unlimited (not recommended for large outputs) max_size: Maximum output size in characters (default: 100000) Limits total response size regardless of line count Returns: Command output |
tap | Tap on the device screen at specific coordinates. Args: serial: Device serial number x: X coordinate to tap y: Y coordinate to tap Returns: The result of the tap operation |
swipe | Perform a swipe gesture from one point to another on the device screen. Args: serial: Device serial number start_x: Starting X coordinate start_y: Starting Y coordinate end_x: Ending X coordinate end_y: Ending Y coordinate ctx: Context duration_ms: Duration of the swipe in milliseconds (default: 300) Returns: The result of the swipe operation |
input_text | Input text on the device. Args: serial: Device serial number text: Text to input (will be typed as if from keyboard) Returns: The result of the text input operation |
press_key | Press a key on the device. Common keycodes:
Args: serial: Device serial number keycode: Android keycode to press Returns: The result of the key press operation |
start_intent | Start an app activity using an intent. Args: serial: Device serial number package: Package name (e.g., "com.android.settings") activity: Activity name (e.g., ".Settings") ctx: Context extras: Optional intent extras as key-value pairs Returns: The result of the intent operation |