Appium MCP
UnclaimedAppium MCP on Steroids!
Install
claude mcp add appium-mcp -- npx -y appium-mcp@latestUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverTools (30)
appium_ai
Opt-in (gated by AIVISIONENABLED=true). Vision-based element finding — fallback for when traditional locators don't work. action=findelement takes a natural-language instruction (e.g., "yellow search button at bottom") and returns a coordinate UUID consumable by appiumgesture (tap / doubletap / long
appium_alert
Handle alerts with action = accept, dismiss, or gettext (optional buttonLabel)
appium_app_lifecycle
activate
appium_context
Manage contexts in one tool. action=list gets all available contexts including NATIVEAPP and WEBVIEW\ entries. action=switch switches to a target context (context required).
appium_documentation_query
Opt-in (gated by APPIUMMCPDOCSENABLED). Query Appium documentation using RAG for help and guidance
appium_drag_and_drop
Perform a drag and drop gesture from a source location to a target location (supports element-to-element, element-to-coordinates, coordinates-to-element, and coordinates-to-coordinates)
appium_driver_settings
Read or update Appium driver session settings in one tool. action=get returns current settings as JSON; action=update merges a settings map (driver-specific keys; use action=get first to inspect).
appium_find_element
Find a specific element using traditional locator strategies. Strategy priority: accessibility id > id > platform-native (-ios predicate string / -ios class chain on iOS, -android uiautomator on Android) > xpath (last resort — slow & brittle). To scroll until an element appears, use appiumgesture wi
appium_generate_tests
Generate automated test code from natural language scenarios
appium_geolocation
Get, set, or reset the device GPS coordinates with action = get, set, or reset. For set, provide latitude and longitude (and optional altitude on Android). Not supported on Android emulators for reset.
appium_gesture
Perform a touch gesture. action = back, tap, doubletap, longpress, scroll, swipe, pinchzoom, or scrolltoelement. scrolltoelement scrolls vertically (direction = up \
appium_get_page_source
Get the page source (XML) from the current screen
appium_get_text
Get text content from an element
appium_get_window_size
Get the width and height of the device screen in pixels
appium_mobile_clipboard
Read or set device clipboard plain text. action=get \
appium_mobile_device_control
Control device behavior: lock/unlock the screen, shake the device, or open the notifications panel (action: lock \
appium_mobile_device_info
Get device information, battery status, or current device time. Use action = info (model, OS version, locale, timezone, screen density, etc.), battery (level as percentage and charging state), or time (current device time; accepts an optional format moment.js string, defaults to ISO 8601). Works on
appium_mobile_keyboard
Hide the on-screen keyboard or query visibility. action=hide \
appium_mobile_permissions
Get, update, or reset app permissions in one tool (action: get / update / reset)
appium_orientation
Get or set device/screen orientation with action = get or set (requires orientation for set).
appium_perform_actions
Execute raw W3C Actions API sequences for custom multi-touch gestures (rotate, three-finger swipe, edge swipes, precise timing). Prefer appiumgesture for standard gestures.
appium_prepare_ios_real_device
Prepare a real iOS device for Appium testing. Two-step flow: (1) call without provisioningProfileUuid to list available .mobileprovision profiles; (2) call again with the chosen UUID and isFreeAccount to download the matching WDA release, package it as an IPA, and resign with the profile. Results ar
appium_screen_recording
Start or stop screen recording with action = start or stop. On stop, returns the saved MP4 path.
appium_screenshot
Take a screenshot and save as PNG. Optionally provide elementUUID to capture a specific element. Pass returnRawBase64: true (default false) to return the raw base64 PNG inline instead of saving to disk — useful when the server runs on a remote machine where the saved file is not accessible. Intended
appium_session_management
Unified session management. action=create: start a new session for Android, iOS, or general capabilities (see 'general' mode above); forwards capabilities to a remote server via WebDriver newSession when remoteServerUrl is provided. action=attach: connect MCP Appium to an already-running remote Appi
appium_set_value
Enter text into an input field
appium_skills
Opt-in (gated by APPIUMMCPDOCSENABLED). Return ordered setup or troubleshooting skills from appium/skills for local Appium environments
generate_locators
Generate intelligent locators for all interactive elements on the current screen
prepare_ios_simulator
Boot an iOS/tvOS simulator, download WDA (if not cached), and install/launch WDA in a single call. Each step is skipped if already satisfied (iOS/tvOS only). Set APPIUMMCPWDAAPPPATH to skip all downloads and use a local .app bundle instead.
select_device
REQUIRED FIRST: Discover available devices and select one. Auto-selects if only one device found