MCP Appium Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| initialize-appiumC | Initialize an Appium driver session for mobile automation |
| close-appiumB | Close the current Appium driver session |
| appium-screenshotC | Take a screenshot using Appium |
| tap-elementB | Tap on a UI element identified by a selector |
| send-keysC | Send text input to a UI element |
| get-page-sourceB | Get the XML representation of the current UI |
| swipeC | Perform a swipe gesture on the screen |
| wait-for-elementC | Wait for an element to be visible on screen |
| long-pressC | Perform a long press gesture on an element |
| scroll-to-elementC | Scroll until an element becomes visible |
| get-orientationB | Get the current device orientation |
| set-orientationC | Set the device orientation |
| hide-keyboardB | Hide the keyboard if it's currently visible |
| get-current-packageB | Get the current active app package name |
| get-current-activityB | Get the current Android activity name |
| launch-appium-appB | Launch the app associated with the current Appium session |
| close-appB | Close the app associated with the current Appium session |
| reset-appB | Reset the app (terminate and relaunch) associated with the current Appium session |
| get-device-timeB | Get the current device time |
| lock-deviceC | Lock the device screen |
| is-device-lockedA | Check if the device is currently locked |
| unlock-deviceB | Unlock the device screen |
| press-key-codeC | Press an Android key code |
| open-notificationsB | Open the notifications panel (Android only) |
| get-contextsB | Get all available contexts (NATIVE_APP, WEBVIEW, etc.) |
| switch-contextC | Switch between contexts (e.g., NATIVE_APP, WEBVIEW) |
| get-current-contextC | Get the current context |
| pull-fileC | Pull a file from the device |
| push-fileC | Push a file to the device |
| get-battery-infoB | Get the device battery information |
| element-existsC | Check if an element exists on the current page |
| list-ios-simulatorsB | Get list of available iOS simulators |
| find-by-ios-predicateB | Find an element using iOS predicate string (iOS only) |
| find-by-ios-class-chainC | Find an element using iOS class chain (iOS only) |
| tap-by-ios-predicateB | Tap on an element using iOS predicate string (iOS only) |
| tap-by-ios-class-chainC | Tap on an element using iOS class chain (iOS only) |
| send-keys-by-ios-predicateB | Send text to an element using iOS predicate string (iOS only) |
| send-keys-by-ios-class-chainC | Send text to an element using iOS class chain (iOS only) |
| perform-touch-idC | Simulate Touch ID fingerprint (iOS only) |
| shake-deviceB | Simulate shake gesture (iOS only) |
| start-recordingC | Start recording the screen |
| stop-recordingC | Stop recording the screen and get the recording data |
| execute-mobile-commandC | Execute a custom mobile command for iOS or Android |
| get-element-textC | Get text content from a UI element |
| send-keys-to-deviceC | Send keys directly to the device without focusing on any element |
| send-key-eventC | Send a key event to the device (e.g., HOME, BACK) |
| clear-elementC | Clear text from an input element |
| scroll-screenC | Scroll the screen in a specified direction |
| get-element-attributesC | Get all available attributes of an element |
| inspect-elementC | Get detailed information about an element (for debugging) |
| get-element-treeC | Get a hierarchical view of the UI elements (similar to Appium Inspector) |
| has-text-in-screenA | Check if specific text exists anywhere on the current screen |
| find-elements-by-textC | Find all elements containing specific text |
| tap-element-by-textC | Tap on an element containing specific text |
| generate-element-locatorsC | Generate multiple types of locators for an element |
| perform-element-actionC | Perform a specific action on an element using various locator strategies |
| smart-tapB | Intelligently tap an element trying different locator strategies in a specific order |
| inspect-and-tapC | Inspect an element using one locator, then tap using the best available locator |
| perform-w3c-gestureB | Perform touch gestures using the W3C Actions API (more reliable than TouchAction API) |
| extract-locatorsC | Extract element locators from UI XML source |
| save-ui-hierarchyC | Save UI hierarchy XML to a file |
| find-by-textC | Generate XPath to find element by text |
| generate-test-scriptC | Generate Appium test script from actions |
| inspect-and-actC | Inspect UI to identify element locators and then perform an action |
| capture-ui-locatorsC | Capture all UI elements and their locators for future use |
| list-devicesB | List all connected Android devices |
| install-appC | Install an Android application APK |
| uninstall-appC | Uninstall an Android application |
| take-screenshotC | Take a screenshot on an Android device |
| list-installed-packagesB | List all installed packages on an Android device |
| launch-appC | Launch an app on an Android device |
| execute-adb-commandC | Execute a custom ADB command |
| xcode_check_cli_installedB | Check if Xcode command line tools are installed |
| xcode_get_pathB | Get the path to the Xcode installation |
| xcode_install_cliA | Install Xcode command line tools (requires user interaction) |
| xcode_get_ios_simulatorsB | Get a list of available iOS simulators |
| xcode_boot_simulatorC | Boot an iOS simulator |
| xcode_shutdown_simulatorB | Shutdown an iOS simulator |
| xcode_create_simulatorC | Create a new iOS simulator |
| xcode_delete_simulatorC | Delete an iOS simulator |
| xcode_erase_simulatorC | Erase all data from a simulator |
| xcode_get_simulator_statusB | Get the status of all simulators |
| xcode_get_simulator_infoC | Get detailed information about a specific simulator |
| xcode_wait_for_simulatorC | Wait for a simulator to be ready |
| xcode_install_appC | Install an app on a simulator |
| xcode_uninstall_appC | Uninstall an app from a simulator |
| xcode_launch_appC | Launch an app on a simulator |
| xcode_terminate_appC | Terminate an app on a simulator |
| xcode_list_installed_appsC | List all installed apps on a simulator |
| xcode_take_screenshotC | Take a screenshot of a simulator |
| xcode_record_videoC | Start recording video of a simulator (returns process info) |
| xcode_add_media_to_simulatorC | Add photos/videos to a simulator |
| xcode_copy_to_simulatorC | Copy files to a simulator (limited to media files) |
| xcode_get_privacy_permissionC | Get privacy permission status for an app |
| xcode_grant_privacy_permissionC | Grant privacy permission to an app |
| xcode_revoke_privacy_permissionC | Revoke privacy permission from an app |
| xcode_reset_privacy_permissionC | Reset privacy permission for an app |
| xcode_open_urlB | Open a URL on a simulator |
| xcode_set_simulator_locationC | Set the location of a simulator |
| xcode_clear_simulator_locationC | Clear the location of a simulator |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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/Rahulec08/appium-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server