Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANDROID_HOMENoAndroid SDK location, used to locate adb
ANDROID_MCP_DEVICENoDefault device id used when a tool call omits device
ANDROID_MCP_ALLOW_UNSAFE_URLSNoSet to 1 to allow non-http(s) URLs (e.g. deep links) in android_open_url

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
android_list_devicesA

List connected Android devices and emulators with name, Android version, and connection type. Auto-discovers wireless-debugging devices via mDNS when the list is empty.

android_connect_wifiA

Connect to an Android device over WiFi ADB. Accepts HOST or HOST:PORT (port defaults to 5555). The device must have wireless debugging or 'adb tcpip 5555' enabled.

android_device_infoA

Get details of a device: model, Android version, SDK level, screen size, orientation, battery level, and the current foreground app.

android_list_appsA

List installed apps that have a launcher activity (package names).

android_launch_appA

Launch an app by package name. Use android_list_apps to find package names.

android_terminate_appB

Force-stop a running app by package name.

android_install_appC

Install an APK file on the device.

android_uninstall_appA

Uninstall an app from the device by package name.

android_take_screenshotA

Take a screenshot of the device screen and return it as an image. Use android_list_elements first when you need coordinates of UI elements. Do not cache this result.

android_save_screenshotB

Take a screenshot and save it to a PNG file on this computer.

android_list_elementsA

List UI elements on the current screen with text, accessibility labels, resource ids, and pixel coordinates. Use this to find where to tap. Do not cache this result.

android_wait_for_elementA

Wait until a UI element appears on screen. Use this instead of a fixed sleep when content loads dynamically. Returns element info and center coordinates when found.

android_tapA

Tap the screen at x,y pixel coordinates. Use android_list_elements to find element coordinates.

android_tap_elementA

Find a UI element by selector and tap its center. More reliable than coordinate taps for dynamic layouts. Waits for the element to appear (default 5s).

android_double_tapB

Double-tap the screen at x,y pixel coordinates.

android_long_pressC

Long-press the screen at x,y pixel coordinates.

android_swipeC

Swipe in a direction. Starts from screen center by default, or from given x,y coordinates.

android_dragA

Drag from one point and drop at another (uses a slow swipe that triggers drag behavior).

android_type_textA

Type text into the currently focused input field. Tap the field first. ASCII only (adb limitation).

android_press_keyA

Press a hardware or navigation key. Common keys: BACK, HOME, ENTER, MENU, APP_SWITCH, POWER, VOLUME_UP, VOLUME_DOWN, DELETE, TAB, DPAD_UP/DOWN/LEFT/RIGHT/CENTER. Any Android KEYCODE_* name or numeric keycode also works.

android_open_urlB

Open a URL in the default browser on the device.

android_open_notificationsA

Expand the notification shade to inspect notifications. Use android_list_elements or android_take_screenshot afterwards to read them, and BACK key to close.

android_set_orientationA

Set the screen orientation (disables auto-rotate).

android_start_recordingA

Start recording the device screen in the background. Stop it with android_stop_recording. Max duration is 180 seconds (Android limit).

android_stop_recordingA

Stop the active screen recording, pull the video from the device, and save it as an .mp4 file on this computer.

android_logcatA

Read recent device logs. Useful for debugging apps (Flutter, React Native, native). The 'crash' buffer contains crash reports.

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 26 tools

Disambiguation5/5

Each tool targets a distinct action or resource. While tap and tap_element overlap, their descriptions clarify different use cases for coordinate vs. element-based tapping. Other tools like drag and swipe are clearly differentiated.

Naming Consistency5/5

All tools follow a strict 'android_' prefix with snake_case action-oriented names. There is no mixing of conventions, and the verb-noun structure is consistent throughout.

Tool Count4/5

With 26 tools, the server is comprehensive but not excessively large. Every tool seems justified for Android device automation, though some could be merged (e.g., tap and tap_element). The count is high but still reasonable.

Completeness4/5

The tool set covers device connection, UI interaction, app management, screenshots, recording, and logs. Missing operations like file transfer or clipboard access are minor gaps, but core workflows for UI automation are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues