PlugWiki
MCP Appium - Mobile Development and Automation Server logo

Appium MCP Server: Setup for Claude, Cursor and Other Apps

OfficialLocal
Getnpmappium-mcpappium/appium-mcp

Lets your assistant control Android and iOS phones and emulators with Appium so it can test apps and write test code.

This is the Appium project's own server. It lets your assistant start a session on an Android or iOS device, tap and type, read the screen, take screenshots and write test code from what it did.

It runs on your computer and needs no account. For local devices you also need the platform tools, such as the Android SDK or Xcode. The list below shows the 32 tools that are on by default, and two more groups can be switched on.

Good for

  • Mobile developers who want an assistant to try their app on a device
  • QA engineers who generate Appium test code from a real run
  • Teams who test on remote Appium servers or device clouds

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install MCP Appium - Mobile Development and Automation Server

Claude Code

  1. 1

    Copy this prompt.

    Add the MCP Appium - Mobile Development and Automation Server server to Claude Code. Run this command:
    
    claude mcp add appium -- npx -y appium-mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js, Android SDK (Android) or Xcode (iOS).

Install the platform tools first: Android Studio with the SDK and ANDROID_HOME set for Android, or Xcode with its command line tools for iOS. A remote Appium server needs neither.

Built from the package data we hold. Not yet tested by us.

Tools

  • Finds the phone or emulator to test on

    Lists local Android and iOS devices and picks one. If several are connected it asks you to choose. Skip it for remote Appium servers.

    Try: “Which Android devices are connected?”

    Read · select_device

  • Boots an iOS simulator ready for testing

    Boots an iOS or tvOS simulator, downloads and caches WebDriverAgent and starts it on a free port. It can also only boot the simulator.

    Try: “Boot the iPhone 16 simulator and get it ready.”

    Runs code · prepare_ios_simulator

  • Signs the test runner for a real iPhone

    Lists your provisioning profiles, then downloads, packages and signs WebDriverAgent for a real device. It needs macOS, Xcode 16 or newer and a device in developer mode.

    Try: “Prepare my iPhone for testing.”

    Runs code · appium_prepare_ios_real_device

  • Starts, joins and ends test sessions

    Creates, attaches to, lists, selects, detaches from and deletes Appium sessions, locally or on a remote Appium server.

    Try: “Start an Android session on the emulator.”

    Runs code · appium_session_management

  • Finds one element on the screen

    Looks up a single button, field or label by a selector so later steps can use it.

    Try: “Find the Login button.”

    Read · appium_find_element

  • Finds all matching elements

    Returns every element on screen that matches a selector.

    Try: “List all the buttons on this screen.”

    Read · appium_find_elements

  • Gets the focused element

    Returns the element that currently has focus.

    Try: “What field is focused right now?”

    Read · appium_get_active_element

  • Reads an element's text

    Returns the visible text of an element.

    Try: “What does the title say?”

    Read · appium_get_text

  • Reads an element's attribute

    Returns one attribute of an element, such as whether it is enabled or checked.

    Try: “Is the Submit button enabled?”

    Read · appium_get_element_attribute

  • Types text into a field

    Sets or enters text in an input element.

    Try: “Type my email in the email field.”

    Write · appium_set_value

  • Taps, swipes, scrolls and pinches

    Performs touch gestures chosen by an action name. The tool handles the differences between Android and iOS.

    Try: “Scroll down to the Settings entry and tap it.”

    Write · appium_gesture

  • Drags one item onto another

    Drags an element or point to a target.

    Try: “Drag the card into the Done column.”

    Write · appium_drag_and_drop

Read from the source code

Permissions

high risk · 5 things to watch · 3 advisories

High risk

The assistant can operate a connected device like a person would, including uninstalling apps, clearing app data and changing permissions and location. Use a test device or emulator, and approve app removal and data clearing.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It can uninstall apps and clear app data

    The app tool can remove an app and wipe its data on the connected device. Use a test device and approve those actions. github.com

  • It acts on a real device like a user

    It can type text, tap, change permissions, fake GPS and read the clipboard. Do not point it at a personal phone with real accounts. github.com

  • Installing from a URL downloads files

    App installs accept web links by default. Set ALLOW_REMOTE_APP_URLS to false to allow local paths only. github.com

  • Screenshots and recordings go to disk

    They are saved in the system temp folder unless you set SCREENSHOTS_DIR, so they can show private screens. github.com

  • Two optional groups are off by default

    A vision tool turns on with AI_VISION_ENABLED and sends screenshots to the model API you set. A documentation tool group turns on with APPIUM_MCP_DOCS_ENABLED. github.com

Security advisories

Technical details
Talks toRemote Appium or WebDriver servers you name. App download URLs when you install from a link. GitHub, when it downloads WebDriverAgent for iOS
Sign-in and keysNo sign-in is used. Device and tool access come from your local setup.
Scopes
  • Connected Android or iOS devices and simulators

  • Files you give it as app paths

  • Remote Appium server URLs you provide

Questions

Is the Appium MCP server official?

Yes. It lives in the Appium organisation's own repository.

Do I need Appium installed first?

Not for local Android and iOS sessions. The server bundles the Android and iOS drivers. You still need the Android SDK or Xcode, and a remote server can be used instead.

Does it need an API key?

No. The optional vision tool needs a model API key only if you turn it on.

Can it run read-only?

No. Most tools act on the device, and the app tool can uninstall apps and clear data.

Does it work on iPhones?

Yes, on simulators and on real devices. A real device needs macOS, Xcode 16 or newer and developer mode.

Is the tool list complete?

Yes for a default install: 32 tools, the same set in the 1.99.1 source and the published 1.99.2 npm package. Two opt-in groups are not counted: a vision tool (AI_VISION_ENABLED) and documentation tools (APPIUM_MCP_DOCS_ENABLED).

What happens to my sessions if the client closes?

By default it deletes the sessions it started when the client disconnects. A setting can keep them.

How do I add it to Claude Code or Cursor?

Use your client's tab in the install box above. Set ANDROID_HOME if you test Android devices.

Information

updated Nov 2, 2026

Publisher
Official
Package
appium-mcp
Registry
npm
Transport
stdio
Auth
None
Version
1.99.1
License
Apache-2.0
Last commit
Oct 27, 2026
Open issues
13
Listed in
Official MCP registry

GitHubnpmOfficial MCP RegistryChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.