Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEBUGNoEnable debug logging
ADB_PATHNoPath to adb binary
MAX_RETRIESNoAuto-retry count
ALLOWED_DEVICESNoComma-separated device IDs
COMMAND_TIMEOUT_MSNoADB command timeout
ALLOW_DESTRUCTIVE_OPSNoAllow uninstall etc.
MAX_ACTIONS_PER_MINUTENoRate limit per device

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA

List all connected Android devices with their status and model information

get_device_infoA

Get detailed information about a connected Android device including model, Android version, SDK version, screen size, brand, and manufacturer

get_screen_sizeA

Get the screen resolution (width x height in pixels) of the connected Android device

health_checkA

Check the health status of the MCP server and ADB connectivity. Returns server uptime, ADB availability, connected device count, and configuration summary.

tapA

Tap at specific coordinates on the Android screen. Coordinates can be absolute pixels or normalized (0-1 range, will be scaled to screen size).

swipeA

Swipe from one point to another on the Android screen. Useful for scrolling, swiping between pages, or drag gestures.

long_pressA

Long press at specific coordinates on the Android screen. Useful for context menus, drag initiation, or selection.

double_tapA

Double tap at specific coordinates on the Android screen. Useful for zooming or selecting text.

input_textA

Type text into the currently focused input field on the Android device. The field must already be focused (tapped).

press_keyA

Press a hardware/software key on the Android device. Common keycodes: HOME, BACK, MENU, ENTER, VOLUME_UP, VOLUME_DOWN, POWER, DEL, TAB, SPACE, APP_SWITCH, SEARCH, CAMERA.

list_appsA

List installed applications on the Android device. By default shows third-party apps only.

open_appA

Launch an Android application by its package name (e.g. com.google.android.youtube). The app must be installed.

close_appB

Force-stop an Android application by its package name.

install_apkC

Install an APK file onto the Android device from a local file path.

uninstall_appA

Uninstall an application from the Android device. Requires allowDestructiveOps to be enabled in server configuration.

get_current_appA

Get the package name of the currently focused/foreground Android application.

list_filesA

List files and directories at a given path on the Android device. Returns file names, types, sizes, and permissions.

pull_fileA

Download a file from the Android device to the local machine.

push_fileB

Upload a file from the local machine to the Android device.

get_ui_treeA

Capture the current UI hierarchy from the Android screen. Returns a structured representation of all visible UI elements with their properties, text, bounds, and states. This is the primary way to understand what is currently on screen.

find_elementA

Find a UI element on the Android screen matching the given selector criteria. Returns the first matching element with its properties and bounds. Use this to locate buttons, text fields, or any UI component before interacting with it.

click_elementA

Find a UI element matching the selector and tap its center. This is the preferred way to interact with UI elements rather than using raw coordinates.

wait_for_elementA

Wait for a UI element to appear on screen within a timeout period. Useful after navigation, loading screens, or animations. Polls the UI tree at regular intervals until the element is found.

assert_element_existsA

Check whether a UI element exists on the current screen. Returns true/false without throwing an error. Useful for test assertions and conditional logic.

capture_screenshotA

Capture a screenshot of the current Android device screen. Returns a base64-encoded PNG image that can be displayed or analyzed visually. Use this to see what is currently on screen.

analyze_screenA

Capture a screenshot and analyze the screen content. Returns both the visual screenshot and a text summary of the UI tree for comprehensive screen understanding. Use this when you need to understand the full screen context.

detect_elements_visuallyA

Detect interactive elements on the screen using a combination of screenshots and UI tree analysis. Returns a list of all clickable/focusable elements with their coordinates and descriptions. Use this when you need to find elements to interact with.

compare_screenshotsA

Compare the current screen with the previously captured screenshot to detect changes. Returns the percentage of pixels that changed and whether the screen has significantly changed. Useful for verifying that an action had an effect.

smart_clickA

Intelligently click an element using multiple strategies: UIAutomator → Accessibility → Vision → Coordinates fallback. This is the most reliable way to click elements.

run_test_scenarioA

Execute an ordered test scenario with multiple steps and assertions. Each step performs an action and optionally verifies the result. Returns detailed pass/fail results per step.

start_recordingA

Start recording actions to create a macro. All subsequent tool calls will be recorded. Use stop_recording to save.

stop_recordingA

Stop the active recording and save it to disk.

replay_recordingC

Replay a previously recorded action sequence.

list_recordingsB

List all saved action recordings/macros.

get_device_stateA

Get the current tracked state of a device including current app, screen history, and recent actions. Useful for understanding context.

get_metricsA

Get performance metrics and action history for the MCP server. Shows per-tool latency, success/failure counts.

list_pluginsA

List all loaded MCP server plugins and their versions.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 37 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap that could cause confusion. For example, 'analyze_screen', 'capture_screenshot', and 'get_ui_tree' all involve screen capture and analysis, with 'analyze_screen' combining both visual and UI tree aspects, potentially making it ambiguous when to use each. Similarly, 'click_element' and 'smart_click' both handle clicking, though 'smart_click' is described as more reliable with fallback strategies, which helps differentiate them. Overall, the tools are well-defined, but a few overlaps exist.

Naming Consistency5/5

Tool names follow a highly consistent snake_case pattern with clear verb_noun structures throughout, such as 'analyze_screen', 'click_element', 'get_device_info', and 'list_apps'. There are no deviations in naming conventions, making it easy to predict and understand tool purposes based on their names.

Tool Count3/5

With 37 tools, the count is borderline high for an Android automation server. While it covers a wide range of functionalities from UI interaction to file management and testing, it may feel heavy and overwhelming for agents to navigate efficiently. A more focused set of 15-25 tools might improve usability without sacrificing core capabilities.

Completeness5/5

The tool set provides comprehensive coverage for Android automation, including UI interaction (e.g., click, swipe, input), device management (e.g., install, uninstall, get info), file operations (e.g., push, pull, list), testing support (e.g., run_test_scenario, assert_element_exists), and recording features. There are no obvious gaps; it supports full lifecycle operations from app installation to UI testing and performance monitoring.

Maintenance

ActivityInactive
ResponsivenessNo issues