Webdriverio MCP Server

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…

Local serverstdioMIT

What is the Webdriverio MCP Server?

webdriverio-mcp is an MCP project maintained in the webdriverio/mcp repository. The maintainer describes its purpose as “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…”. Read the project documentation for the complete scope.

Installation

The documented npm package is @wdio/mcp. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
start_sessionStart a browser, local Electron application, or mobile app session; attach: true retains the existing Chrome CDP connection mode
attach_sessionAttach to an existing remote WebDriver/Appium session by ID without creating a new session
launch_chromeLaunch a new Chrome instance with remote debugging enabled (for use with start_session({ attach: true }))
close_sessionClose or detach from the current session (supports detach: true to disconnect without terminating)
emulate_deviceEmulate a mobile/tablet device preset (viewport, DPR, UA, touch); requires BiDi session
open_web_extensionInstall a web extension through WebDriver BiDi and open one of its extension pages so normal page tools can drive its UI
navigateNavigate to a URL
get_elementsGet visible, interactable elements on the page. Supports inViewportOnly (default: true) to filter viewport elements, and includeContainers (default: false)…
get_accessibility_treeGet the page accessibility tree with roles, names, and selectors. Supports filtering by role and pagination. Browser-only.
get_screenshotTake a screenshot of the current page or screen (base64-encoded, auto-resized to max 2000px / 1MB)
get_tabsList all open browser tabs with handle, title, URL, and active status. Browser-only.
scrollScroll in a direction (up/down) by specified pixels. Browser-only.
execute_scriptExecute arbitrary JavaScript in the browser, or Appium mobile commands on devices
execute_electron_scriptExecute privileged JavaScript in the Electron main process (Electron sessions only)
trigger_electron_deeplinkTrigger an Electron deeplink whose scheme was explicitly configured at session start
mockConfigure a session-scoped mock: an Electron main-process API function or a browser network request
get_mock_callsInspect call arguments (Electron) or intercepted request records (browser) for a session-scoped mock
manage_mockClear, reset, or restore a session-scoped mock
switch_tabSwitch to a different browser tab by handle or 0-based index. Browser-only.
switch_frameSwitch into an iframe by CSS/XPath selector, or back to the top-level frame if no selector is given. Browser-only.
click_elementClick an element
set_valueType text into input fields
get_cookiesGet all cookies for the current session, or a single cookie by name
set_cookieSet a cookie with name, value, and optional attributes
delete_cookiesDelete all cookies or a specific cookie
tap_elementTap an element by selector or coordinates
swipeSwipe in a direction (up/down/left/right)
drag_and_dropDrag from one location to another
get_contextsList available automation contexts (NATIVE_APP, WEBVIEW_) and the currently active one
switch_contextSwitch between native and webview contexts
get_app_stateGet the current lifecycle state of a mobile app (not installed / not running / background / foreground)
rotate_deviceRotate to portrait or landscape
hide_keyboardHide on-screen keyboard
set_geolocationSet device GPS location
query_docsSearch the official WebdriverIO documentation and return the most relevant excerpts with page, section and source URL. query is required (2-3 distinctive…

How to install the Webdriverio MCP Server

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

From the project documentation. Replace placeholders and example paths before connecting.