Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ADB_PATHNoPath to the adb executable. If not set, the server expects adb to be available on PATH.
ANDROID_SERIALNoThe Android emulator or device serial to target (for example emulator-5554). If not set, the server can use the device argument on phone_connect, the only online adb device, or prompt for a serial.

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
phone_connectA

List ADB devices (emulator or USB), select one, and return a compact current-screen summary. Call this first. Pass device as an ADB serial, or set ANDROID_SERIAL.

phone_devicesA

List connected ADB devices without changing the current selection or dumping the UI.

phone_observeA

Capture the current UI hierarchy via uiautomator dump (accessibility-style tree) and return a numbered element list for tapping. Set includeScreenshot when the tree is not enough (games, canvas, Chrome content).

phone_tapA

Tap by pixel coordinates (x,y) or by an element from the last phone_observe (index, text, resourceId, contentDesc). Optional durationMs performs a long-press. Returns the resulting screen.

phone_swipeC

Swipe from (x1,y1) to (x2,y2), or by finger direction up/down/left/right across the screen. Returns the resulting screen.

phone_typeA

Type into the focused field. Optionally tap a selector first. ASCII uses adb input text; other characters use clipboard paste. Returns the resulting screen.

phone_keyB

Send an Android keyevent such as HOME, BACK, ENTER, TAB, DELETE, APP_SWITCH, POWER, VOLUME_UP, VOLUME_DOWN, DPAD_UP/DOWN/LEFT/RIGHT, PASTE. Returns the resulting screen.

phone_backA

Press BACK (convenience wrapper around phone_key).

phone_homeB

Press HOME (convenience wrapper around phone_key).

phone_launchB

Launch an app by package (com.android.settings), component (pkg/.Activity), or known alias (settings, chrome, camera, photos, gmail, play, files, clock, calculator, phone, messages).

phone_appsA

List installed launcher activities (package + activity) on the selected device.

phone_screenshotB

Capture a PNG screenshot of the current display.

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

Disambiguation4/5

Each tool has a distinct purpose: connect/select, list-only, observe tree, screenshot, apps, tap, swipe, type, key, launch. The only overlap is phone_back and phone_home being explicit convenience wrappers around phone_key, and connect vs devices both listing ADB devices, but descriptions clarify these boundaries well.

Naming Consistency5/5

All 12 tools use a uniform phone_ prefix followed by a clear action or resource noun (connect, devices, observe, screenshot, tap, swipe, type, key, launch). The pattern is predictable and fully consistent throughout.

Tool Count5/5

12 tools is well within the ideal range and each earns its place by covering a distinct step in the phone-interaction loop (discover, observe, act, launch). Nothing feels padded or redundant at the set level.

Completeness4/5

The core lifecycle of connect, observe, interact (tap/swipe/type/key), launch, and capture is fully covered with no dead ends. Minor gaps exist for out-of-band operations like installing/uninstalling apps or retrieving device state, but agents can accomplish the primary automation workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues