webdriverio/mcp

webdriverio/mcp

от webdriverio
Управляйте браузерами и мобильными приложениями через WebDriverIO с MCP-сервером. Автоматизируйте Chrome, Firefox, Edge, Safari, iOS и Android: навигация, клики, скриншоты. Оптимален для тестирования.

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.

Installation

mcp MCP server

Add the following configuration to your MCP client settings:

Standard config (works in most clients):

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

Install in VS Code Install in VS Code Insiders Install in Cursor

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows), or ~/.config/Claude/claude_desktop_config.json (Linux):

{
  "mcpServers": {
    "wdio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp@latest"
      ]
    }
  }
}
Claude Code
claude mcp add wdio-mcp -- npx -y @wdio/mcp@latest
Cline

Add to your VS Code settings.json or cline_mcp_settings.json file:

Часто задаваемые вопросы

Инструменты были проиндексированы:
click_element

Кликает по элементу. На веб-страницах результат перечисляет, что изменилось (новые элементы с refs или новая страница). В приложениях это не так: сделайте снимок, чтобы увидеть новый экран. Несколько шагов подряд: perform_actions.

Параметры
  • selectorstringобязательный

    Ref из снимка (e12) или селектор: CSS, XPath, "button=Exact text", "a*=Partial text"

close_session

Закрывает сессию, а при detach: true отключается и оставляет её работать. Присоединённые сессии и сессии Appium с noReset отсоединяются, если только не указано detach: false.

Параметры
  • detachboolean
enable_toolsтолько чтениеидемпотентный

Добавляет новые инструменты: mocks (подменяет сетевые запросы или API Electron); cookies (читает, устанавливает и удаляет cookie); device (эмулирует телефон или планшет, подменяет геолокацию); extensions (устанавливает и открывает расширение браузера); attach (запускает Chrome с удалённой отладкой, подключается к работающей сессии WebDriver или Appium); elements (сырой список элементов с их границами); cloud-apps (загружает и показывает список мобильных приложений в BrowserStack, Sauce Labs, TestMu, TestingBot, Digital.ai).

Параметры
  • groupsenum[]обязательный
execute_script

Запускает JavaScript на странице (return возвращает значение; строковые аргументы, совпадающие с селектором, передаются как элементы) или, в Appium, команду "mobile: <command>" с аргументами. Для кликов и ввода предпочитайте специализированные инструменты.

Параметры
  • argsany[]

    Аргументы скрипта, или параметры команды mobile

  • scriptstringобязательный

    JavaScript или "mobile: <command>" в Appium

get_screenshotтолько чтениеидемпотентный

Делает снимок экрана текущей страницы или экрана и возвращает изображение в формате base64, изменённое в размере и сжатое для учёта ограничений контекста модели.

Параметры

Без параметров.

get_tabsтолько чтениеидемпотентный

Выводит список всех вкладок браузера с handle, title, URL и указанием, какая из них активна. Используйте перед switch_tab, чтобы найти нужный handle или индекс. Только для браузера.

Параметры

Без параметров.

navigateидемпотентный

Загружает URL в текущей вкладке и ожидает события загрузки страницы. Сбрасывает состояние страницы: DOM, среда выполнения JS, таймеры и контекст фрейма уничтожаются. Используйте вместо нажатия на ссылки, если целевой URL известен.

Параметры
  • urlstringобязательный

    URL для перехода

perform_actions

Выполняет несколько действий за один вызов, например, заполняет форму и отправляет её на странице или экране приложения, и возвращает, что каждое из них изменило на веб-страницах. Шаги, которые текущая сессия не поддерживает, отклоняются до запуска любого шага. Останавливается при первой ошибке, когда шаг загружает новую страницу, или перед нажатием клавиши, которое идёт после клика, выбора, установки или снятия флажка, изменивших страницу (продолжайте с новыми refs). value - это текст для fill, вариант для select и клавиши для press.

Параметры
  • actionsobject[]обязательный
press_key

Нажимает клавишу или комбинацию клавиш в элементе в фокусе, например Enter, Tab, Escape, Control+a. Результат перечисляет, что изменилось на странице. Несколько шагов подряд: perform_actions.

Параметры
  • keysstringобязательный

    Клавиша или комбинация

  • timesinteger

    Нажмите на него столько раз, например, чтобы передвинуть ползунок.

query_docsтолько чтениеидемпотентный

Ищет в официальной документации WebdriverIO и возвращает самые релевантные фрагменты с указанием страницы, раздела и исходного URL. Используйте перед ответом на любой вопрос об API WebdriverIO, конфигурации, сервисах, репортёрах, селекторах или отладке. Запрос составляйте из 2-3 характерных ключевых слов, а не из целого предложения: "appium setup", "devtools trace.zip" и "allure reporter" сразу выдают нужную страницу первой, а "how do I wire up appium in my config file" - нет. Слово может совпасть и с посторонней страницей - wire попадает на Wire Protocol, - так что если запрос промахнулся, повторите его с точным заголовком страницы: он надёжнее любого пересказа. Ставьте fullPage, чтобы получить страницу целиком. Если хотите сначала осмотреться, прочитайте wdio://docs/index: там все заголовки страниц и их slug, а затем wdio://docs/page/{slug} для полного текста одной страницы. Указывайте path любой страницы, на которую опираетесь.

Параметры
  • fullPageboolean

    Возвращает полные совпавшие страницы вместо фрагментов.

  • limitinteger
  • querystringобязательный

    2-3 характерных ключевых слова: название API, ключ конфигурации, заголовок страницы или функция (например, "appium setup", "devtools trace.zip", "browserstack capabilities"). Предложение размывает ранжирование.

scroll

Прокручивает страницу по вертикали на заданное количество пикселей. Только для браузера — для мобильной прокрутки используйте свайп. Поддерживает только движение вверх/вниз, горизонтальная прокрутка отсутствует.

Параметры
  • directionenumобязательный

    Направление прокрутки

  • pixelsnumber

    Количество пикселей для прокрутки

select_option

Выбирает опцию <select> по её тексту. Результат перечисляет, что изменилось на странице. Несколько шагов подряд: perform_actions.

Параметры
  • selectorstringобязательный

    Ref из снимка (e12) или селектор <select>

  • valuestringобязательный

    Текст опции

set_valueидемпотентный

Заменяет текст в input или textarea. На веб-страницах результат перечисляет, что изменилось (новые элементы с refs или новая страница). В приложениях это не так: сделайте снимок, чтобы увидеть новый экран. Чтобы заполнить несколько полей или заполнить и затем кликнуть, используйте один вызов perform_actions.

Параметры
  • selectorstringобязательный

    Ссылка из снимка (e12) или селектор: CSS, XPath, "button=Exact text", "a*=Partial text"

  • valuestringобязательный

    Текст для ввода в элемент

snapshotтолько чтениеидемпотентный

Страница или экран приложения в виде дерева доступности с refs, например, button "Save" [ref=e3]. refs передаются в perform_actions для нескольких шагов или в click_element/set_value/select_option для одного. По умолчанию: только интерактивные элементы, обычный текст отбрасывается; full: true показывает его. find возвращает только те части страницы, которые содержат текст (с их refs); full: true включает весь текст; viewport: true ограничивает его тем, что на экране (не вместе с find).

Параметры
  • findstring

    Текст для поиска

  • fullboolean

    Включает текст, а не только интерактивные элементы.

  • scopestring

    Только ниже этого ref или селектора.

  • viewportboolean

    Только то, что на экране

start_session

Запускает сессию браузера, Electron-приложения или мобильного приложения (закрывает активную). Браузеры по умолчанию работают headless в разрешении 1280x800; передайте navigationUrl, чтобы сразу открыть страницу. attach: true подключается к запущенному Chrome через CDP.

Параметры
  • appstring

    URL облачного приложения из upload_app (bs://, storage:filename=, lt://, tb://, cloud:<id>)

  • appiumConfigobject

    Локальный сервер Appium

  • appPathstring

    Мобильные: локальные .app/.apk/.ipa

  • appWaitActivitystring

    Android: activity запуска, которую нужно дождаться

  • attachboolean

    Подключается к запущенному Chrome (attachConfig, по умолчанию localhost:9222)

  • attachConfigobject
  • autoAcceptAlertsboolean

    Мобильный, по умолчанию true

  • autoDismissAlertsboolean
  • autoGrantPermissionsboolean

    Mobile, по умолчанию true

  • automationNameenum
  • browserenum

    Требуется для браузера платформы

  • browserstackLocalstring | boolean

    Устарело: туннель

  • browserVersionstring

    Только в облаке

  • capabilitiesobject

    Дополнительные capabilities для объединения, например "wdio:electronServiceOptions"

  • deviceNamestring

    Mobile: имя устройства, эмулятора или симулятора (обязательно)

  • deviceQuerystring

    Запрос мобильного устройства Digital.ai

  • electronDeeplinkSchemestring

    Electron: схема URI (без ":") разрешена для trigger_electron_deeplink

  • electronRootDirstring

    Electron: корень проекта для обнаружения Builder/Forge

  • fullResetboolean
  • headlessboolean
  • navigationUrlstring

    URL для открытия после запуска

  • newCommandTimeoutnumber

    Appium, секунды

  • noResetboolean
  • osstring

    ОС облачного браузера, например "Windows", "macOS"

  • osVersionstring

    Версия ОС облачного браузера, например "11", "Sequoia"

  • platformenumобязательный
  • platformVersionstring

    Версия мобильной ОС, например "17.0"

  • providerenum

    По умолчанию - local. Облачные провайдеры берут учётные данные из env. external: эндпоинт W3C WebDriver (webdriverConfig).

  • regionenum

    Только Sauce Labs

  • reportingobject

    Метки облачной отчетности

  • saucelabsLocalstring | boolean

    Устарело: туннель

  • testmuLocalstring | boolean

    Устарело: туннель

  • traceboolean

    Сохраняет zip-архив трассировки, совместимый с Playwright, в .trace/ при close_session

  • tunnelstring | boolean

    Cloud: true запускает туннель, "external" использует уже запущенный.

  • tunnelNamestring
  • udidstring

    UDID реального устройства iOS

  • webdriverConfigobject

    Провайдер: только внешний

  • windowHeightnumber
  • windowWidthnumber
switch_frameидемпотентный

Переключает на iframe (ref или selector) или обратно на верхнюю страницу, если selector не указан. Последующие инструменты работают внутри фрейма, пока не переключитесь обратно. Возвращает элементы фрейма.

Параметры
  • selectorstring

    Ref или селектор iframe; не указывайте для страницы верхнего уровня

switch_tabидемпотентный

Переключает на вкладку по handle или индексу с отсчётом от нуля (см. get_tabs). Последующие инструменты работают с этой вкладкой.

Параметры
  • handlestring

    Дескриптор окна, в которое нужно переключиться.

  • indexinteger

    Индекс вкладки с отсчётом от нуля для переключения на неё

4.0.0основная
4.0.0-dev.67
4.0.0-dev.66
3.14.1-dev.65
4.0.0-dev.64
4.0.0-dev.62
4.0.0-dev.61
4.0.0-dev.60
3.14.1-dev.59
4.0.0-dev.58
4.0.0-dev.57
4.0.0-dev.56
3.14.0
3.13.0
3.12.1
3.12.0
3.11.1
3.11.0
3.10.1
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.2
3.5.1
3.5.0
3.4.4
3.4.3
3.4.2
3.4.1
3.4.0
3.3.0
3.2.5
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.1
3.1.0
3.0.0
2.5.3
2.5.2
2.5.1
2.5.0
2.4.1
2.4.0
2.3.1
2.3.0
2.2.1
2.2.0
2.1.0
2.0.0
1.6.1
1.6.0
1.5.1
1.5.0
1.4.1
1.4.0

Выберите клиент, чтобы установить webdriverio/mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

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

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "webdriverio-mcp-4rlykasjj7": {
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp@latest"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "webdriverio-mcp-4rlykasjj7": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp@latest"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"webdriverio-mcp-4rlykasjj7\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@wdio/mcp@latest\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "webdriverio-mcp-4rlykasjj7": {
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp@latest"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add webdriverio-mcp-4rlykasjj7 -- npx -y @wdio/mcp@latest

Либо через JSON-конфиг:

claude mcp add-json webdriverio-mcp-4rlykasjj7 "{\"command\":\"npx\",\"args\":[\"-y\",\"@wdio/mcp@latest\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add webdriverio-mcp-4rlykasjj7 -- npx -y @wdio/mcp@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.webdriverio-mcp-4rlykasjj7]
command = "npx"
args = ["-y", "@wdio/mcp@latest"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите webdriverio/mcp, а в поле команды запуска — строку ниже:
npx -y @wdio/mcp@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

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

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "webdriverio-mcp-4rlykasjj7": {
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp@latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например webdriverio-mcp-4rlykasjj7.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: webdriverio-mcp-4rlykasjj7
    command: npx
    args:
      - "-y"
      - "@wdio/mcp@latest"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "webdriverio-mcp-4rlykasjj7": {
      "command": "npx",
      "args": [
        "-y",
        "@wdio/mcp@latest"
      ]
    }
  }
}

Похожие MCP-сервера

Neverlow512/agent-droid-bridge

Neverlow512/agent-droid-bridge

от neverlow512

MCP-сервер для подключения AI-агентов к Android-устройствам через ADB. Используется в мобильной автоматизации, тестировании и реверс-инжиниринге: скриншоты, касания, ввод текста, управление приложе...

Python⭐ 22
swimmwatch/cloakbrowser-mcp

swimmwatch/cloakbrowser-mcp

от swimmwatch

Обходит антибот-защиту в браузере человеческими движениями мыши, клавиатуры и скролла. Сохраняет профили Chrome и подбирает прокси по GeoIP.

TypeScript⭐ 171
achiya-automation/safari-mcp

achiya-automation/safari-mcp

от achiya-automation

Используйте Safari MCP сервер для AI-агентов на macOS - ваш реальный браузер с сессиями, куками и 96 инструментами. Работает без Chrome, на нативном WebKit, с низким нагревом.

JavaScript⭐ 220
executeautomation/playwright-mcp-server

executeautomation/playwright-mcp-server

от executeautomation

Управляет браузером через Playwright: открывает страницы, делает скриншоты, извлекает данные, эмулирует 143 устройства и пишет автотесты.

TypeScript⭐ 5668
eyalzh/browser-control-mcp

eyalzh/browser-control-mcp

от eyalzh

MCP сервер для Firefox в паре с расширением дает AI управлять вкладками, историей и чтением страниц. Требует согласия на чтение - безопаснее web automation. Идеально для организации работы в браузере.

TypeScript⭐ 335
debugg-ai/debugg-ai-mcp

debugg-ai/debugg-ai-mcp

от debugg-ai

MCP инструмент для браузерного тестирования: задайте URL и описание — AI-агент выполняет сценарий и выдаёт pass/fail со скриншотами. Есть probe_page для быстрых проверок без LLM. Помогает разработчикам и QA автоматизировать UI-тесты.

TypeScript⭐ 68
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин