Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ADB_APK_ROOTNoDirectory from which APK installation is allowed. Defaults to `ADB_PROJECT_ROOT`.
ADB_EXECUTABLENoADB executable path. Defaults to `adb`.adb
ADB_TIMEOUT_MSNoDefault ADB command timeout. Defaults to `30000`.30000
OBS_EXECUTABLENoOBS application name, `.app` path, or executable path. Defaults to `OBS` on macOS and `obs` elsewhere.OBS
VEGA_EXECUTABLENoVega CLI executable path used for Vega/Kepler backends. Defaults to `vega`.vega
ADB_ALLOWED_AVDSNoOptional comma-separated allowlist of AVD names.
ADB_BUILD_CONFIGNoPath to build profile JSON. Defaults to `adb-mcp.config.json` in the server working directory when present.adb-mcp.config.json
ADB_PROJECT_ROOTNoProject root used for default config and APK root. Defaults to the server working directory.
OBS_WEBSOCKET_URLNoOBS WebSocket endpoint. Defaults to `ws://127.0.0.1:4455`.ws://127.0.0.1:4455
OBS_EMULATOR_SCENENoConfigured OBS scene for emulator recording.
OBS_EMULATOR_SOURCENoConfigured OBS source for emulator recording.
ADB_MAX_OUTPUT_BYTESNoDefault ADB output limit. Defaults to `5242880`.5242880
OBS_WEBSOCKET_PASSWORDNoOBS WebSocket authentication password.
ADB_SCREENSHOT_MAX_BYTESNoMaximum raw PNG size accepted from `adb screencap`. Defaults to `33554432`.33554432
ADB_SCREENSHOT_MAX_WIDTHNoMaximum delivered screenshot width. Defaults to `1280`.1280
ADB_SCREENSHOT_MAX_HEIGHTNoMaximum delivered screenshot height. Defaults to `720`.720
OBS_PHYSICAL_DEVICE_SCENENoConfigured OBS scene for physical-device recording.
OBS_PHYSICAL_DEVICE_SOURCENoConfigured OBS source for physical-device recording.
ANDROID_EMULATOR_EXECUTABLENoAndroid Emulator executable. Defaults to `$ANDROID_SDK_ROOT/emulator/emulator`, `$ANDROID_HOME/emulator/emulator`, or `emulator` from `PATH`.
ADB_SCREENSHOT_OUTPUT_MAX_BYTESNoMaximum optimized PNG size. Defaults to `1048576`.1048576

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA

List Android emulators, USB devices, and network-connected devices visible to ADB, including authorization state.

list_avdsA

List configured Android Virtual Devices and report which ones are currently running.

start_emulatorA

Start an Android Virtual Device with quick or cold boot, wait for Android to finish booting, and select it as active.

connect_deviceA

Connect ADB to a physical device or emulator already listening on TCP using host:port.

disconnect_deviceA

Disconnect an ADB-over-TCP target. This does not affect USB devices.

select_deviceA

Select an emulator or physical device as active for this MCP session.

clear_active_deviceA

Clear the active device for this MCP session.

set_project_rootA

Set the user-confirmed repository root for this MCP session. install_apk will only accept APKs contained within this directory.

get_device_infoA

Read model, manufacturer, Android version, SDK, screen size/density, and whether the target reports itself as an emulator.

screenshotA

Capture the current screen, resize and compress it as an analysis-friendly PNG, and return it directly to the agent.

get_current_activityA

Read the currently resumed Android activity/window for diagnosis and assertions.

dump_uiA

Return the current Android UI Automator hierarchy as XML when supported by the device.

wait_for_ui_nodeA

Poll Android UI Automator until a node matching exact text, resource_id, content_desc, and/or focused state exists.

assert_ui_nodeA

Assert that the current Android UI Automator hierarchy does or does not contain a matching node.

press_keyB

Send a safe, named Android key event, including D-pad and Fire TV remote navigation keys.

press_key_sequenceA

Send a timed sequence of safe, named Android key events. Use this for gestures requiring precise intervals, such as BACK, wait 1s, BACK.

tapB

Tap an absolute screen coordinate.

swipeB

Swipe between two absolute screen coordinates with a bounded duration.

type_textA

Type restricted plain text into the focused field. Shell metacharacters are rejected for safety.

install_apkA

Install an APK contained within the active session project root, or the configured ADB_APK_ROOT when no session root is set.

uninstall_appB

Uninstall an Android application by package name.

launch_appA

Launch an app by package name, optionally using a specific Android activity component.

stop_appA

Force-stop an Android application by package name.

get_logcatA

Read recent logcat lines, optionally retaining only lines containing a case-insensitive text fragment.

get_obs_statusA

Report whether OBS WebSocket is reachable and whether OBS is currently recording.

open_obsA

Open OBS if necessary and optionally select the configured emulator or physical-device scene.

start_obs_recordingA

Select and verify the configured OBS source for an emulator or physical device, then start recording.

stop_obs_recordingA

Stop and finalize the current OBS recording, returning the saved video path.

list_build_profilesA

List the server-side build profiles that this MCP instance is allowed to execute, such as debug or release.

run_buildA

Run a configured server-side build profile. Optionally install the resulting APK when the profile declares artifactPath.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
ADB Device CatalogLive catalog of Android emulators and physical devices visible to ADB.

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/francbonet/Adb-MCP-Server'

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