Appium MCP logo

Appium MCP

Unclaimed

by appium

Appium MCP on Steroids!

Install

$claude mcp add appium-mcp -- npx -y appium-mcp@latest

Set up this server

This server needs project-specific setup. Follow the project instructions; no reusable public launch command is available yet.

Project instructions
goosemcpmcp-appiummcp-iosmcp-mobiletest-generator

More in Developer Tools

Browse the full directory

Unclaimed 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 server

Security profile

Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works

30 of 30 tools

Documented tools (30)

From project documentation. A server handshake does not verify each tool’s description or behavior.

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

Tool change history

Compared across complete checks of the same configuration. Tools were listed, not invoked. Input-schema changes are not measured here.

No complete tool checks yet.

FAQ

Questions about Appium MCP Server

How do I connect Appium MCP Server to Claude?
The listing records `claude mcp add appium-mcp -- npx -y appium-mcp@latest` as its setup step. Run it, then follow the repository's instructions for the client configuration; the listing names Claude Code, Cursor as compatible clients.
Is Appium MCP Server free?
The listed licence is Apache-2.0. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
What can Appium MCP Server do?
Appium MCP Server documents 30 tools to the agent, including appium_ai, appium_alert, appium_app_lifecycle. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.