Labsco
MCP SERVER

WebDriverIO

by Winify

Run a desktop browser and an Appium iOS or Android app session from the same tool set, picking elements out of a visible-element list or an accessibility snapshot instead of a screenshot.

Browser Automation, Control & ScreenshotsVerified
Summary
One session covers the web page and the phone app, so a single run can cross between them.

The element story is the part worth having: get_visible_elements is called out as the thing to prefer over take_screenshot when you intend to interact, and get_accessibility returns roles, names and states rather than an image, which is what makes a selector survive a redesign. Part of the device surface is platform-bound — shake_device is iOS only, and send_keys, press_key_code and open_notifications are Android only — and the whole mobile half is inert without an Appium server behind it.

What it is

A WebDriverIO session under the client's control, with 42 tools spanning a desktop browser and a mobile app session started through Appium.

What you get
  • A browser session started headless or at a set window size, navigated, scrolled by pixels, and closed or detached at the end
  • Element work that does not go through pixels: the elements visible in the viewport, an accessibility snapshot carrying roles, names and states, and clicks by selector or by visible text
  • Cookies read by name or in full, set with domain, path, expiry, httpOnly, secure and sameSite, and deleted one at a time or all at once
  • A mobile app session over Appium, opened with platform, version, device name or udid and with reset, alert and permission behaviour decided at start
  • Mobile gestures: tap by selector or coordinates, swipe by direction, distance and duration, long press, and drag and drop between selectors or points
  • App and device state: apps activated or terminated by bundleId, native and webview contexts switched, orientation, lock state and keyboard visibility read, and geolocation set or read
Requirements

No credentials. The browser tools need a browser on the machine. The mobile tools need a running Appium server — its host, port and path are parameters of start_app_session — plus a device or emulator you can name by platform, platformVersion, deviceName or udid, and the app's bundleId for the app-state tools.

Setup effort

One command — npx -y webdriverio-mcp