Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ADB_PATHNoAbsolute path to the adb executable. If not set, adb is expected on PATH.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
mobile_server_infoA

Return package version, active profiles, and the exact registered tool list. Call after reconnect to verify Cursor sees the full core surface.

mobile_devices_listA

List ADB devices with reachability, hardware serial grouping, preferred TCP serial, and aliases when the same device appears under multiple serials.

mobile_device_inspectB

Probe the selected device's actual ADB, input, command, build, and backend capabilities.

mobile_displays_listA

List logical displays and correlated physical capture IDs with evidence and focus state.

mobile_screen_captureA

Capture one logical display after resolving its SurfaceFlinger physical display ID.

mobile_screen_recordA

Blocking record of one physical-backed display for a bounded duration. Prefer mobile_record_start/mark/stop when input must be interleaved.

mobile_sessions_statusA

Return active async recording, focus, and logcat sessions (optional serial filter). Use before stop/mark to recover IDs after a reconnect.

mobile_record_startA

Start a non-blocking screenrecord on one logical display so input tools can run during capture. One active session per (serial, displayId).

mobile_record_markA

Attach a labeled timestamp (offsetMs from record start) for later correlation with analyze/focus/logcat.

mobile_record_stopA

Stop screenrecord with SIGINT, pull the MP4 into artifacts, and return marks with offsets.

mobile_analyze_recordingA

Sample mean grayscale over an MP4 (ffmpeg), detect black/dim runs, and classify OEM-agnostic brightness buckets (true_black, near_black_content, system_launcher_idle, dark_app_ui, light_app_ui). Bucket ranges are heuristics—calibrate with exportSampleFrames on the device under test. Use mode='flash' for one-call regressions. Full per-frame timeline is omitted unless includeFullTimeline=true.

mobile_theme_flash_reportC

Correlate system night mode with a recording analysis (mode=flash) and marks whose offsets fall inside any reported black/dim run (± markWindowMs).

mobile_focus_traceA

Blocking sample of focused package/activity/taskId for a fixed duration. Prefer mobile_focus_trace_start/stop when interleaving input or recording. Large sample sets are written to an artifact; only a compact prefix is inlined.

mobile_focus_trace_startA

Start non-blocking focus sampling for logical displays. Optionally bind to a recordId so samples include recordOffsetMs aligned with record marks. Default interval 250ms; samples are ring-buffered (maxSamples).

mobile_focus_trace_stopA

Stop an async focus session and return focus change events plus samples (wallClockIso, tMs, optional recordOffsetMs). Prefer changes for flash/launcher hunting. Large traces write samples JSON to an artifact.

mobile_artifacts_listA

List metadata stubs (uri, name, mime, size) for files under the artifact root. Does not embed binary contents.

mobile_artifacts_pruneA

Delete old or excess artifact files by maxAgeMs and/or maxCount. Use dryRun to preview.

mobile_screen_capture_pairA

Capture multiple logical displays as tightly paired same-moment screenshots (parallel screencap after one display resolve).

mobile_ui_snapshotB

Return parsed accessibility nodes. Portable ADB supports only display 0; other displays require the companion.

mobile_ui_findB

Find accessibility nodes by text, content description, or resource ID.

mobile_ui_waitA

Poll until a matching accessibility node appears or the bounded timeout expires.

mobile_input_tapA

Inject a display-targeted touchscreen tap in logical display coordinates.

mobile_input_swipeC

Inject a display-targeted touchscreen swipe with explicit duration.

mobile_input_dragC

Inject a capability-gated long-press drag-and-drop on one logical display.

mobile_input_key_combinationA

Inject a device-supported key combination with explicit ordering and chord duration.

mobile_input_keyB

Send symbolic or numeric Android keys with gamepad source and capability-gated press options.

mobile_input_textA

Type text through ADB's virtual keyboard. Reports the Unicode limitation instead of hiding it.

mobile_app_inspectB

Read package state, permissions, components, users, and installation metadata.

mobile_app_launchC

Resolve and launch an activity on a logical display with ActivityManager wait diagnostics.

mobile_app_stopB

Force-stop a package, including its processes and pending implicit launches.

mobile_app_relaunch_on_displaysA

Force-stop a package, then launch its main (or given) activity on each logical display in order. Use for dual-display cold-start / flash reproduction.

mobile_app_installB

Install one local APK with a bounded timeout and structured ADB result.

mobile_app_uninstallB

Uninstall a package, optionally retaining its data.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zyzto/polyscreen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server