Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANDROID_HOMENoThe path to the Android SDK. If your SDK is not in the default location (~/Library/Android/sdk on macOS), set this variable to point to your SDK directory.

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 connected Android devices and emulators

list_avdsB

List available Android Virtual Devices

start_emulatorA

Start an Android emulator. Waits up to 60s for it to come online.

screenshotA

Take a screenshot of the Android device. Returns the image for visual analysis. Optionally saves to a file path.

get_ui_treeA

Get the UI element hierarchy of the current screen. Returns interactive elements with their bounds, text, resource IDs, and state. Use this to find elements before tapping.

tapC

Tap at specific screen coordinates

tap_elementA

Tap a UI element by its resource-id, text, or content-desc. Finds the element in the UI tree and taps its center.

tap_and_waitA

Tap element then wait for UI to settle and return the new UI tree. Combines tap + wait + get_ui_tree into a single fast operation.

type_textB

Type text into the currently focused input field

press_keyC

Press a hardware/software key

swipeC

Perform a swipe gesture on the screen

scroll_to_elementA

Scroll down repeatedly until an element matching the given criteria is visible

wait_for_elementB

Wait for a UI element to appear on screen. Polls every 500ms.

launch_appC

Launch an Android app by package name

install_apkC

Install an APK file on the device

get_current_activityC

Get the currently displayed app and activity

adb_shellC

Run an arbitrary ADB shell command

get_logsA

Get device logcat output. Use to find crashes, exceptions, and errors after reproducing a bug.

clear_logsA

Clear the logcat buffer. Call this before reproducing a bug to get clean logs.

get_device_infoB

Get device details: model, manufacturer, Android version, API level, screen size, and DPI.

pull_fileC

Pull a file from the Android device to the local filesystem.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 21 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between tap, tap_element, and tap_and_wait, which could cause confusion about when to use each. The descriptions help clarify differences, but the boundaries are not entirely clear.

Naming Consistency4/5

Tools follow a consistent verb_noun or verb_pattern naming style (e.g., get_device_info, list_devices, tap_element), with minor deviations like adb_shell (noun_verb) and scroll_to_element (verb_preposition_noun). Overall, the naming is readable and mostly predictable.

Tool Count3/5

With 21 tools, the count is borderline high for an Android testing/automation server, potentially feeling heavy. However, it covers a broad range of operations, so it's not excessive, but could be streamlined for better focus.

Completeness5/5

The tool set provides comprehensive coverage for Android device interaction, including device management, UI automation, debugging, and file operations. There are no obvious gaps; it supports full workflows from setup to testing and analysis.

Maintenance

ActivityInactive
ResponsivenessUnresponsive