Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ADB_PATHNoPath to a non-standard adb binary.
DROIDMCP_BACKENDNoWhich transport to use. Valid values are 'adb' (default) and 'root'.adb
DROIDMCP_ROOT_CMDNoHow to elevate for the root backend, for example 'su' (default), 'rish', or 'sudo'.su

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA

List Android devices visible to adb, including emulators.

device_infoB

Model, Android version, screen size and the currently focused activity.

batteryC

Battery level, charging status and temperature.

storageC

Free/used storage for the /data partition.

list_packagesB

Installed package names. Set third_party_only=false to include system apps.

screen_dumpA

Read the current screen as structured JSON: every node with text, content description, resource id, tap coordinates and whether it is clickable or scrollable. Use this before tapping anything so you act on real element positions instead of guessing.

screenshotA

Capture the screen and save it to a local PNG path. Returns the path plus the pixel dimensions so coordinates can be scaled correctly.

tapB

Tap the screen at absolute pixel coordinates.

tap_textA

Find an element by its visible text, content description or resource id and tap its centre. This is the robust alternative to guessing coordinates. Runs a fresh screen dump unless the previous one is reused.

swipeC

Swipe/drag from (x1,y1) to (x2,y2). Increase duration_ms for slow drags.

scrollB

Scroll the dominant axis of the screen. Use direction 'down' to reveal content further down the page. Coordinates are derived from the real screen size, so this works on any resolution.

type_textA

Type into the currently focused text field. Tap the field first. Spaces and shell metacharacters are escaped automatically.

press_keyB

Press a hardware key: home, back, enter, menu, power, volume_up, volume_down, recent, wake, sleep, tab, delete, search, notifications. Raw KEYCODE_* names are also accepted.

launch_appB

Launch an app by package name, optionally specifying an activity.

force_stopC

Force-stop a running app by package name.

open_urlC

Open a URL in the device's default browser or matching app.

shellA

Escape hatch: run an arbitrary adb shell command and return stdout. Use for anything not covered by the dedicated tools (e.g. 'settings get secure enabled_accessibility_services').

logcatC

Tail recent logcat lines. filter_spec uses adb syntax such as '*:E' for errors only.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 18 tools

Disambiguation5/5

Each tool has a distinct purpose: listing devices/info/battery/storage/packages, UI inspection via screen_dump vs screenshot, input actions tap/tap_text/swipe/scroll/type_text/press_key, and app lifecycle tools. shell and logcat are clearly positioned as an escape hatch and a specialized log tool, so there is no meaningful ambiguity.

Naming Consistency4/5

All names use snake_case consistently, with no disruptive camelCase or mixed casing. However, the set mixes verb_noun patterns (list_devices, launch_app, force_stop) with bare nouns (battery, storage, screenshot, shell, logcat), so it is slightly less predictable than a pure verb_noun convention.

Tool Count4/5

18 tools is slightly above the ideal 3-15 range, but each tool covers a distinct Android/adb capability needed for device inspection and UI automation. There is little redundancy, so the count is reasonable rather than bloated.

Completeness4/5

The surface covers device discovery, system state inspection, package listing, UI dumping, screenshots, input automation, app launch/stop, URL opening, and shell/logcat escape hatches. Dedicated install/uninstall, file transfer, and app-data operations are missing, but the shell tool provides a practical workaround for most gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues