espresso-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_avdsC | List all available Android Virtual Devices (AVDs) |
| list_emulatorsA | List all running Android Emulators |
| start_emulatorC | Start an Android Emulator by name |
| kill_emulatorC | Kill a specific Android Emulator |
| dump_ui_hierarchyB | Dump the UI hierarchy of the connected Android device |
| open_uriC | Open a URI on the connected Android device |
| list_appsA | List all installed apps on the connected Android device |
| start_appC | Start an app on the connected Android device |
| stop_appC | Stop an app on the connected Android device |
| install_appB | Install an App APK on the connected Android device |
| uninstall_appC | Uninstall an app from the connected Android device |
| clear_app_dataC | Clear app data for a specific app on the connected Android device |
| take_screenshotC | Take a screenshot of the connected Android device |
| record_screenC | Record the screen of the connected Android device for a specified duration |
| press_buttonC | Simulate a button press on the connected Android device using an Enum button |
| type_textC | Type text on the connected Android device. Handles spaces correctly. |
| clear_and_type_textC | Clear all text and type new text on the connected Android device |
| tapB | Simulate a tap on the connected Android device at the specified coordinates |
| swipeC | Perform a swipe gesture in a specific direction on the connected Android device |
| dump_current_activityA | Dump the current activity name of the connected Android device |
| replace_textB | Replace text on the connected Android device by clearing current text and typing new text |
| fetch_weatherB | Fetch current weather for a city |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_code |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| config://app |
TDQS
Scored across 22 tools
Most tools are clearly separated by resource and action, but clear_and_type_text and replace_text describe essentially the same operation, which creates real ambiguity. The unrelated fetch_weather tool also muddies the tool surface.
The overwhelming majority of tools follow a clear verb_noun snake_case pattern (list_apps, start_emulator, take_screenshot). Minor deviations include short gesture verbs like tap and swipe, plus the redundant clear_and_type_text vs replace_text naming.
22 tools is on the heavy side but mostly justifiable for Android emulator/device automation. The count feels inflated by the duplicate text-replacement tools and the off-topic weather tool, which could be trimmed.
Core emulator and app lifecycle operations are covered well, along with common UI interactions. Obvious gaps include no AVD creation/deletion, no device/serial selection, and no test-running or assertion tools despite the espresso name.