Browser automation#Browser automation

WebdriverIO MCP: browsers, Electron and mobile apps in one server

WebdriverIO's official MCP server: agents drive Chrome, Firefox and Safari, plus native iOS and Android apps through Appium and Electron desktop apps.

Project and installation docs

View project

https://github.com/webdriverio/mcp

When one product ships as a website, a desktop app and a phone app, testing it usually means three toolchains. WebdriverIO MCP puts them behind one server: browsers over WebDriver, native apps over Appium, and Electron apps in their own sessions. It comes from the WebdriverIO organization and had only about 40 stars as of 2026-10-06, so few people know it yet.

What it does

  • One session model: start_session launches a browser, a local Electron app or a mobile app, and attach_session joins an existing WebDriver or Appium session; only one session is active at a time.
  • Pages and elements: get_elements returns only visible, interactable elements, get_accessibility_tree reads the accessibility tree, click_element and set_value act on elements, execute_script runs scripts, and query_docs searches the official WebdriverIO documentation and cites the source page.
  • Mobile actions: tap_element, swipe and drag_and_drop gestures, switch_context between native and WebView, plus device rotation and GPS location; noReset and fullReset control whether a new app session keeps its data and login state.
  • Mocks and cloud devices: mock intercepts browser requests or Electron main-process APIs, and with credentials set it runs on BrowserStack, Sauce Labs, LambdaTest, TestingBot or Digital.ai device clouds, with a local tunnel for testing internal URLs.
  • Session recording: every tool call is logged, and an MCP resource like wdio://session/current/code exports a standalone, runnable WebdriverIO script, with try/catch result reporting for cloud sessions.

Who it’s for

  • QA engineers covering web and mobile who want an agent to walk a user journey and report what breaks.
  • Electron developers who need an agent to reproduce UI bugs in the desktop app.

Setup

Needs Node.js; mobile apps also need Appium and its drivers (Xcode for iOS, Android Studio for Android). In Claude Code:

claude mcp add wdio-mcp -- npx -y @wdio/mcp@latest

Our take

For web-only testing, Playwright MCP is simpler. This one earns attention because mobile and Electron share the same tool interface as the browser, so one set of prompts covers three platforms, which is rare among browser servers; elements and page data come back as TOON (Token-Oriented Object Notation) rather than plain JSON, which costs fewer tokens. Note that execute_script and execute_electron_script both run arbitrary code, the latter with Electron main-process access; HTTP mode accepts only local hosts by default. Only one session runs at a time, so batch runs across devices queue up serially instead of running concurrently, unlike cloud testing frameworks built for parallel sessions. The mobile prerequisites are heavy, so budget time for the first setup. Licensed MIT.