Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ADBNoPath to adb if it is not on the PATH or in ~/Android/Sdk/platform-tools.

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
devicesA

Phones and emulators adb can see, with their serial, model and state.

screen_elementsA

What is on screen: each visible text or touchable element with its centre (x, y), type, id and state. Cheaper and more precise than a screenshot for tapping.

screenshotB

A picture of the screen, for layout, images and anything not in screen_elements.

current_appC

Package and activity in the foreground.

tapB

Touch the screen at a point, in pixels.

tap_elementB

Touch the element whose text, description or id matches the query.

swipeA

Scroll by swiping: 'up' shows what is below, 'down' what is above, 'left' and 'right' move between pages. distance is a fraction of the screen.

type_textA

Type into the focused field (tap it first). ASCII only: adb's input cannot type accents or emoji on stock Android.

press_keyB

Press back, home, recents, enter, delete, tab, volume_up, volume_down, power, menu or search.

list_appsC

Installed packages, optionally only those containing filter.

launch_appB

Open an app by its package name (see list_apps).

install_apkB

Install or update an APK from this computer (keeps the app's data).

logcatA

Recent system log, optionally only one app's lines and only errors: the place to look when an app crashes.

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

Disambiguation5/5

Each tool maps to a distinct action or resource: element-targeted tap vs coordinate tap, swipe vs press_key vs type_text are clearly separated, and observation tools (screenshot, screen_elements, current_app, logcat, devices) each return different data. Descriptions reinforce the boundaries (e.g. screen_elements is explicitly framed as a cheaper alternative to screenshot for tapping).

Naming Consistency4/5

Action tools follow a consistent verb_noun pattern (tap_element, type_text, press_key, list_apps, launch_app, install_apk), while read-only/inspection tools use bare nouns (devices, screenshot, logcat, current_app, screen_elements) and two are bare verbs (tap, swipe). The split is readable and roughly correlated with purpose, but it is not a single uniform convention.

Tool Count5/5

13 tools is well within the ideal range and each earns its place: input, navigation, app lifecycle, device discovery, and diagnostics are all represented without redundancy.

Completeness4/5

Covers the core device-control lifecycle (inspect screen, tap/type/swipe/key, launch/install/list apps, logs, screenshot, device list). Minor gaps remain: no long-press or drag gesture, no way to clear an input field, and no keyevent beyond the enumerated set, but agents can work around most of these.