Skip to content
appsgit

Webdriverio 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 43 GitHub stars, is released under the MIT license and runs locally with npx -y @wdio/mcp.

github.com/webdriverio/mcp (opens in a new tab)

Data as of from the GitHub API and the official MCP registry; description from the project's repository. Report an error

Install Webdriverio MCP Server

Generated from the server's MCP registry entry. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.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

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

Cursor

.cursor/mcp.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
{
  "servers": {
    "webdriverio-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp"
      ]
    }
  }
}

Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Tools (40)

Parsed from the Tools section of the README; check the repository for the current list.

  • enable_tools

    Add a group of tools: mocks, cookies, device, extensions, attach, elements, cloud-apps

  • 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. In browsers the result shows the new page's interactive elements with refs

  • snapshot

    The page as an accessibility tree with refs (button "Save" [ref=e3]), interactive elements by default (plain text is…

  • get_elements

    Get visible, interactable elements with bounds. Supports inViewportOnly (default: true) and includeContainers…

  • get_accessibility_tree

    Get the accessibility tree with roles, names, and selectors. Electron-only; browsers use snapshot

  • 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

    Replace the text of an input or textarea

  • select_option

    Select an option of a by its text; for several steps use performactions. Browser-only.

  • press_key

    Press a key or combination (Enter, Control+a) in the focused element, optionally times (1-100) to repeat it; for…

  • perform_actions

    Run several clicks, fills, selects, checks and key presses (press accepts times to repeat) in one call; stops at the…

  • 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.

About 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, Edge, Safari, Electron, iOS, and Android through a unified interface.

  • mcp
  • webdriverio
  • browser
  • mobile
  • testing
  • android
  • appium
  • ios

FAQ

Webdriverio MCP Server FAQ

Still curious? Email info@appsgit.com.

How do I install the Webdriverio MCP Server MCP server?

Add the command npx -y @wdio/mcp to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is Webdriverio MCP Server free?

The server is open source under the MIT license, so running it is free. It does not declare any required API key.

Is Webdriverio MCP Server actively maintained?

The most recent commit was on Oct 25, 2026. The latest release is v4.0.1, published Oct 25, 2026. appsgit only lists MCP servers with a commit in the last six months.