MCPVault

appium_prepare_ios_real_device

MCP tool from Appium MCP by appium

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

How to use it

appium_prepare_ios_real_device is exposed by the Appium MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the appium_prepare_ios_real_device tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

Install Appium MCP

$claude mcp add appium-mcp -- npx -y appium-mcp@latest
FULL APPIUM MCP LISTING

Other tools in Appium MCP (29)

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_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