Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
deviceA

Device management + module loading. list/set/set_target/get_target: devices. enable_module/disable_module/list_modules: load browser/desktop/store tools on demand.

screenB

Screen capture and annotation. capture: screenshot with compression/diff. annotate: screenshot with element bounding boxes.

inputC

Input actions. tap/double_tap/long_press: coords or text/id/label/index. swipe: direction or coords. text: type text. key: press key.

uiB

UI inspection and interaction. tree: accessibility tree. find: search elements. find_tap: fuzzy tap (Android). tap_text: tap by text (Desktop). analyze: screen analysis. wait/assert_visible/assert_gone: element checks.

appC

App lifecycle: launch, stop, install, list

systemC

System operations, clipboard, permissions, files. shell: run command. logs: device logs. clipboard_*: Android clipboard. permission_*: app permissions. file_*: Aurora file transfer.

flowA

Flow orchestration: batch (multi-command), run (multi-step automation with loops/conditionals), parallel (same action on multiple devices). Use turbo:true for rich feedback (experimental).

repl_spawnA

Start an interactive REPL or CLI process under a PTY. Returns the session id. cmd is exec'd directly (argv split, no shell): env-var prefixes, redirections (2>&1), pipes and globs are NOT interpreted — pass env via the env param, or set shell:true to run cmd through /bin/sh -c.

repl_sendB

Write text to a REPL session. Appends a newline by default.

repl_keyA

Send a control key (enter/ctrl-c/ctrl-d/tab/arrows) to a session.

repl_expectB

Block until a prompt regex matches, the session idles, the child exits, or the timeout fires.

repl_snapshotB

Read the current emulated terminal screen for a session. Output is redacted for common secret patterns unless disabled at plugin construction time.

repl_listB

List active REPL sessions and their statuses.

repl_killA

Terminate a REPL session (SIGTERM, then SIGKILL).

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

Disambiguation4/5

Most tools have clear, distinct purposes (input vs. screen vs. ui vs. app lifecycle). However, 'input' and 'ui' both handle taps/texts, which could cause confusion; 'repl_*' tools are clearly separate but 'repl_spawn' vs 'repl_send' might overlap slightly in purpose.

Naming Consistency4/5

Tools mostly follow single-word or verb_noun patterns, with 'repl_*' prefix consistently used. However, mixed styles like 'tap_text' vs 'find_tap' and 'repl_spawn' vs 'spawn' deviation from a uniform convention, though the naming is generally predictable.

Tool Count4/5

14 tools is within the ideal 3-15 range, slightly on the higher end but each covers a distinct functionality area. The count feels appropriate for a mobile automation server, though some categories could be consolidated.

Completeness4/5

The tool surface covers core mobile automation needs: input, UI inspection, app lifecycle, device management, screen capture, and flow orchestration. Missing are some advanced operations like gesture composition or multi-touch, and the 'system' category is broad but shallow. Overall, no critical gaps for basic workflows.

Maintenance

ActivityActive
ResponsivenessResponsive