MCP Directory

How to add WebDriverIO MCP Server to Claude Desktop

Drive Chrome, Firefox, Edge, Safari and iOS/Android apps with WebDriverIO, locally or on cloud devices. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 ยท 31โ˜… ยท stdio ยท no auth

Claude Desktop config for WebDriverIO MCP Server

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

Setup steps

  1. 1Open Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the WebDriverIO MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm WebDriverIO MCP Server's tools appear under the ๐Ÿ”Œ tools menu.

Before you start

  • Node.js with npx (the server runs via `npx -y @wdio/mcp@latest`)
  • A supported browser installed for web automation (Chrome, Firefox, Edge, or Safari; Safari requires macOS)
  • For mobile automation: Appium server (`npm install -g appium`) plus platform drivers (xcuitest for iOS, uiautomator2 for Android) and a running emulator/simulator or connected device
  • iOS automation requires macOS with Xcode; Android requires Android Studio
  • Optional cloud testing requires provider credentials (BrowserStack, Sauce Labs, LambdaTest, TestingBot, or Digital.ai)

What WebDriverIO MCP Server can do in Claude Desktop

start_session

Start a browser or app session. Use platform: 'browser' for web, platform: 'ios'/'android' for mobile, or attach: true to connect to a running Chrome instance.

launch_chrome

Launch a new Chrome instance with remote debugging enabled, for use with start_session({ attach: true }).

close_session

Close or detach from the current session (supports detach: true to disconnect without terminating).

emulate_device

Emulate a mobile/tablet device preset (viewport, DPR, UA, touch); requires a BiDi session.

open_web_extension

Install a web extension through WebDriver BiDi and open one of its extension pages so normal page tools can drive its UI.

navigate

Navigate to a URL.

get_elements

Get visible, interactable elements on the page. Supports inViewportOnly (default true) and includeContainers (default false) to include layout containers on mobile.

get_accessibility_tree

Get the page accessibility tree with roles, names, and selectors. Supports filtering by role and pagination. Browser-only.

Security

Cloud-provider testing requires provider credentials (e.g. BROWSERSTACK_USERNAME / BROWSERSTACK_ACCESS_KEY, SAUCE_USERNAME / SAUCE_ACCESS_KEY) set as environment variables or in the MCP client config. The server can execute arbitrary JavaScript via execute_script and drive browsers/devices, so run it only against targets you trust. HTTP transport mode includes DNS-rebinding protection via --allowedHosts and blocks browser clients unless --allowedOrigins is set.

WebDriverIO MCP Server + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the WebDriverIO MCP Server config there under the "mcpServers" key and restart the client.

Is WebDriverIO MCP Server safe to use with Claude Desktop?

Cloud-provider testing requires provider credentials (e.g. BROWSERSTACK_USERNAME / BROWSERSTACK_ACCESS_KEY, SAUCE_USERNAME / SAUCE_ACCESS_KEY) set as environment variables or in the MCP client config. The server can execute arbitrary JavaScript via execute_script and drive browsers/devices, so run it only against targets you trust. HTTP transport mode includes DNS-rebinding protection via --allowedHosts and blocks browser clients unless --allowedOrigins is set.

Do I need cloud credentials to use it?

No. Local browser and mobile automation work without any credentials. Provider credentials (e.g. BROWSERSTACK_USERNAME / BROWSERSTACK_ACCESS_KEY) are only needed when running tests on cloud real devices via BrowserStack, Sauce Labs, LambdaTest, TestingBot or Digital.ai.

What's required for mobile app automation?

An Appium server (`npm install -g appium`) plus the platform driver (xcuitest for iOS, uiautomator2 for Android), and a running emulator/simulator or connected device. iOS requires macOS with Xcode; Android requires Android Studio. Start the Appium server before launching mobile sessions.

Can it run without launching a subprocess?

Yes. By default it uses stdio (subprocess) transport, but for clients that cannot spawn subprocesses you can enable HTTP transport with `npx @wdio/mcp --http --port 3000` and point the client at http://localhost:3000/mcp.

View repo Full WebDriverIO MCP Server page