MCP.so
Sign In

WebdriverIO MCP

@webdriverio

About WebdriverIO MCP

A Model Context Protocol (MCP) server that enables AI assistants to interact with web browsers and mobile applications using WebDriverIO. Automate Chrome browsers, iOS apps, and Android apps—all through a unified interface.

Basic information

Category

Other

Transports

stdio

Publisher

webdriverio

Submitted by

Vince Graics

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "wdio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is WebdriverIO MCP?

WebdriverIO MCP is a Model Context Protocol server that enables Claude Desktop to automate web browsers (Chrome, Firefox, Edge, Safari) and mobile apps (iOS and Android) through WebDriverIO. It provides a unified interface for browser and mobile app testing, including session management, element interaction, gestures, and device control.

How to use WebdriverIO MCP?

Add the server configuration to your Claude Desktop MCP settings using either npx -y @wdio/mcp or a globally installed wdio-mcp binary. For mobile automation, install Appium globally and the required platform drivers (xcuitest for iOS, uiautomator2 for Android). Start an Appium server before using mobile features. Then launch Claude Desktop and interact with browsers or apps using the provided tools (e.g., start_browser, start_app_session, navigate, click_element).

Key features of WebdriverIO MCP

  • Start browser sessions in headed or headless modes
  • Navigate URLs, click elements, fill forms, and take screenshots
  • Manage cookies (get, set, delete)
  • Attach to a running Chrome instance via remote debugging
  • Emulate mobile devices (iPhone 15, Pixel 7) with BiDi sessions
  • Record all tool calls as executable WebDriverIO JS
  • Test native iOS/Android apps with gestures, app lifecycle, and context switching
  • Switch between native and webview contexts for hybrid apps

Use cases of WebdriverIO MCP

  • Automate web application testing across multiple browsers and viewports
  • Test mobile apps on emulators/simulators or real devices with gestures and state preservation
  • Attach to an authenticated browser session to test pre-configured workflows
  • Emulate mobile devices without physical hardware for responsive layout testing
  • Record and export test steps as runnable WebDriverIO scripts

FAQ from WebdriverIO MCP

Which browsers are supported?

Chrome, Firefox, Edge, and Safari. Safari is headed only and requires macOS. Browser sessions support custom capabilities like profiles or extensions.

What are the prerequisites for mobile automation?

Install Appium globally (npm install -g appium), then install platform drivers: appium driver install xcuitest (iOS, requires Xcode) and appium driver install uiautomator2 (Android, requires Android Studio). You need an emulator/simulator or a physical device. For iOS real devices, you need the device UDID.

How do I attach to a running Chrome instance?

First launch Chrome with --remote-debugging-port (e.g., port 9222). Then use the attach_browser tool in Claude Desktop. You can specify a custom port or navigation URL.

How does device emulation work?

Start a BiDi session by setting webSocketUrl: true in capabilities. Then use emulate_device to list presets or apply a specific device (e.g., iPhone 15, Pixel 7). Use reset to restore desktop defaults.

Can I preserve app state between sessions?

Yes. Use noReset: true and fullReset: false when starting a mobile app session. The app remains installed with its data intact across sessions.

Comments

More Other MCP servers