Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ADB_VISUAL_MCP_ADBNoSet the adb path when it is not on PATH
ADB_VISUAL_MCP_DEVICENoOptional default Android device 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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
devicesA

List Android devices known to adb, including readiness and model.

adb_commandA

Run an arbitrary adb command and return exit code, stdout, and stderr.

args is the adb argument list, for example ["shell", "getprop", "ro.product.model"] or "shell pm list packages". Without device the command runs without -s, so global commands such as devices or version work; pass a serial for device-scoped commands.

screenshotC

Capture the full Android screen, optionally with a uniform visual grid.

clickB

Tap an absolute screen coordinate. Right/middle map to a long press.

mouseC

Scroll the screen or drag between absolute coordinates.

keyboardC

Type text, press one key, or send a key sequence to the focused app.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct interaction (keyboard input, mouse scroll/drag, click tap, screenshot capture, device listing), so selection is generally clear. The main overlap is `adb_command`, a generic escape hatch that can replicate every other tool's function (e.g. `shell input tap`, `shell screencap`, `devices`), though this is an intentional, documented fallback rather than true ambiguity.

Naming Consistency3/5

Five tools are single lowercase words (keyboard, mouse, devices, screenshot, click) while `adb_command` uses a snake_case namespace prefix, and the set mixes nouns (devices, screenshot) with a verb (click) and input-device names (keyboard, mouse). It is readable and loosely noun-oriented, but there is no predictable verb_noun or resource pattern an agent can rely on.

Tool Count5/5

Six tools is well-scoped for a focused Android-device-control server: discovery, three input primitives, capture, and a raw escape hatch. Each tool earns its place without redundant wrappers or an oversized surface.

Completeness4/5

The surface covers the core interaction loop (find device, see screen, tap/drag/scroll, type) and `adb_command` closes arbitrary gaps like app install, UI hierarchy dumps, or device connect/restart. Minor gaps remain: no dedicated swipe/fling or long-press tool, and no built-in wait-for-UI or clipboard operations, though all are reachable through `adb_command`.

Maintenance

ActivityMaintained
ResponsivenessNo issues