Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANDROID_HOMENoPath to the Android SDK root. If not set, ANDROID_SDK_ROOT or the default ~/Library/Android/sdk is used.
ANDROID_SDK_ROOTNoPath to the Android SDK root. If not set, ANDROID_HOME or the default ~/Library/Android/sdk is used.

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
list_emulatorsA

List available Android Virtual Devices (AVDs) and currently connected devices/emulators

boot_emulatorA

Boot an Android emulator by AVD name and wait until it has finished booting. Returns the device serial.

shutdown_emulatorA

Shut down a running emulator

get_booted_serialA

Get the serial(s) of currently connected devices/emulators

get_screen_infoA

Get the screen size (pixels) and density. Screenshots, tap coordinates and describe_ui bounds all share this same pixel coordinate space — no scaling needed.

install_appB

Install an .apk on the device

uninstall_appA

Uninstall an app by package name

list_appsA

List installed packages (third-party only by default)

launch_appA

Launch an app by package name (uses its main launcher activity), or a specific activity

terminate_appC

Force-stop a running app

clear_app_dataA

Clear all data and permissions for an app (like a fresh install)

grant_permissionA

Grant a runtime permission to an app (e.g. android.permission.CAMERA)

screenshotA

Take a screenshot of the device screen. Saves a full-resolution PNG and returns a downscaled copy inline (the text notes the scale factor to map back to device pixels).

describe_uiA

Get the UI hierarchy of the current screen as a compact JSON list with text, content descriptions, resource IDs, bounds and tap centers (pixels). By default only elements with text/desc or that are interactive are returned.

find_elementA

Find UI elements whose text, content description or resource ID contains the given string (case-insensitive). Returns bounds and tap centers.

wait_for_elementA

Poll until an element matching the query appears (or disappears). Useful after navigation or network calls.

tapA

Tap at x,y pixel coordinates on the screen

long_pressC

Long-press at x,y pixel coordinates

swipeB

Swipe from one point to another (pixels)

type_textA

Type text into the currently focused input field (ASCII only — adb input text cannot type emoji or non-Latin characters)

press_buttonB

Press a hardware/navigation button (HOME, BACK, MENU, APP_SWITCH, POWER, VOLUME_UP, VOLUME_DOWN, ENTER, DEL, TAB, CAMERA, SEARCH)

key_eventA

Send any Android keycode (e.g. KEYCODE_ESCAPE, 66) — for keys not covered by press_button

open_urlC

Open a URL or deep link in the device

shakeA

Shake the device (emulator only — simulates accelerometer motion, e.g. to open the React Native dev menu)

set_orientationC

Rotate the screen

set_appearanceB

Switch the device between light and dark mode

set_locationC

Set the simulated GPS location (emulator only)

add_mediaB

Add a photo or video to the device's media library (Photos/Gallery)

record_videoA

Start recording the device screen (max 3 minutes per recording). Call stop_recording to finish and pull the .mp4.

stop_recordingA

Stop an active screen recording and save the video locally

set_status_barC

Override the status bar via SystemUI demo mode (time, battery, wifi, notifications)

clear_status_barA

Exit demo mode and restore the real status bar

logcatA

Read recent logcat output, optionally filtered by a regex or restricted to one app's process

clear_logcatC

Clear the logcat buffer

push_fileA

Copy a local file to the device

pull_fileB

Copy a file from the device to the local machine

adb_shellA

Run an arbitrary adb shell command for anything not covered by the other tools, e.g. 'dumpsys activity activities | head -50'

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/Sajinthan/android-emulator-mcp'

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