# Webdriverio MCP Server (MCP server)

> Webdriverio MCP Server is an MCP server that enables AI assistants to interact with web browsers, local Electron applications, and mobile applications using WebdriverIO. Automate Chrome, Firefox, Edge, Safari, Electron, iOS, and Android through a unified interface. It has 41 GitHub stars, is released under the MIT license and runs locally with npx -y @wdio/mcp.

A Model Context Protocol (MCP) server that enables AI assistants to interact with web browsers, local Electron applications, and mobile applications using WebdriverIO. Automate Chrome, Firefox, Edge, Safari, Electron, iOS, and Android through a unified interface.

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/webdriverio/mcp |
| GitHub stars | 41 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: @wdio/mcp |
| Remote URL | none |
| Needs API key | no |
| Official | yes |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Web & browsing |
| Latest release | v3.14.0 (Sep 23, 2026) |
| Last commit | Sep 23, 2026 |
| MCP registry name | io.github.webdriverio/mcp |

## Install

### Claude Desktop (claude_desktop_config.json)

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

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --transport stdio webdriverio-mcp-server -- npx -y @wdio/mcp
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "webdriverio-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp"
      ]
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "servers": {
    "webdriverio-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp"
      ]
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Tools

- `start_session`: Start a browser, local Electron application, or mobile app session; attach: true retains the existing Chrome CDP…
- `attach_session`: Attach to an existing remote WebDriver/Appium session by ID without creating a new session
- `launch_chrome`: Launch a new Chrome instance with remote debugging enabled (for use with startsession({ 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 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) to filter viewport elements,…
- `get_accessibility_tree`: Get the page accessibility tree with roles, names, and selectors. Supports filtering by role and pagination.
- `get_screenshot`: Take a screenshot of the current page or screen (base64-encoded, auto-resized to max 2000px / 1MB)
- `get_tabs`: List all open browser tabs with handle, title, URL, and active status. Browser-only.
- `scroll`: Scroll in a direction (up/down) by specified pixels. Browser-only.
- `execute_script`: Execute arbitrary JavaScript in the browser, or Appium mobile commands on devices
- `execute_electron_script`: Execute privileged JavaScript in the Electron main process (Electron sessions only)
- `trigger_electron_deeplink`: Trigger an Electron deeplink whose scheme was explicitly configured at session start
- `mock`: Configure a session-scoped mock: an Electron main-process API function or a browser network request
- `get_mock_calls`: Inspect call arguments (Electron) or intercepted request records (browser) for a session-scoped mock
- `manage_mock`: Clear, reset, or restore a session-scoped mock
- `switch_tab`: Switch to a different browser tab by handle or 0-based index. Browser-only.
- `switch_frame`: Switch into an iframe by CSS/XPath selector, or back to the top-level frame if no selector is given. Browser-only.
- `click_element`: Click an element
- `set_value`: Type text into input fields
- `get_cookies`: Get all cookies for the current session, or a single cookie by name
- `set_cookie`: Set a cookie with name, value, and optional attributes
- `delete_cookies`: Delete all cookies or a specific cookie
- `tap_element`: Tap an element by selector or coordinates
- `swipe`: Swipe in a direction (up/down/left/right)
- `drag_and_drop`: Drag from one location to another
- `get_contexts`: List available automation contexts (NATIVEAPP, WEBVIEW) and the currently active one
- `switch_context`: Switch between native and webview contexts
- `get_app_state`: Get the current lifecycle state of a mobile app (not installed / not running / background / foreground)
- `rotate_device`: Rotate to portrait or landscape
- `hide_keyboard`: Hide on-screen keyboard
- `set_geolocation`: Set device GPS location
- `query_docs`: Search the official WebdriverIO documentation and return the most relevant excerpts with page, section and source URL.

## Similar MCP servers

- [Browser Use](https://appsgit.com/mcp-servers/browser-use): Control a real Chrome browser to complete any task: fill forms, extract data, book flights. (117,307 stars, MIT, official)
- [Scrapling MCP Server](https://appsgit.com/mcp-servers/scrapling-mcp-server): Web scraping with stealth HTTP, real browsers, and Cloudflare bypass. (86,017 stars, BSD-3-Clause)
- [Chrome DevTools MCP](https://appsgit.com/mcp-servers/chrome-devtools-mcp): MCP server for Chrome DevTools. (53,049 stars, Apache-2.0)
- [Bytedance Browser](https://appsgit.com/mcp-servers/bytedance-browser): MCP server for browser use access. (39,206 stars, Apache-2.0)
- [Bytedance Commands](https://appsgit.com/mcp-servers/bytedance-commands): An MCP server to run arbitrary commands. (39,206 stars, Apache-2.0)
- [Bytedance Search](https://appsgit.com/mcp-servers/bytedance-search): MCP server for web search operations. (39,206 stars, Apache-2.0)

---

Canonical page: https://appsgit.com/mcp-servers/webdriverio-mcp-server
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
