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 and mobile applications using WebDriverIO. Automate Chrome, Firefox, Edge, and Safari browsers plus iOS and Android apps—all 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

Ожидает элемент, прокручивает его в область видимости и вызывает element.click(). Может вызывать навигацию, отправку форм или модальные окна. Только в браузерных сессиях — на iOS element.click() игнорируется без сообщения; используйте tap_element. Тайм-аут по умолчанию: 3000 мс.

Ожидает элемент, прокручивает его в область видимости и вызывает element.click(). Может вызывать навигацию, отправку форм или модальные окна. Только в браузерных сессиях — на iOS element.click() игнорируется без сообщения; используйте tap_element. Тайм-аут по умолчанию: 3000 мс.

Параметры

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

    Value for the selector, in the form of css selector or xpath ("button.my-class" or "//button[@class='my-class']" or "button=Exact text with spaces" or "a*=Link containing text")

  • scrollToViewboolean

    Whether to scroll the element into view before clicking

  • timeoutnumber

    Maximum time to wait for element in milliseconds

close_session

Закрывает текущую сессию или отсоединяется без завершения. Отсоединение сохраняет состояние приложения на сервере Appium: сессии с noReset: true автоматически отсоединяются по умолчанию. Закрытие сессии браузера attach завершает chromedriver, но процесс Chrome, запущенный через launch_chrome, продолжает работать.

Закрывает текущую сессию или отсоединяется без завершения. Отсоединение сохраняет состояние приложения на сервере Appium: сессии с noReset: true автоматически отсоединяются по умолчанию. Закрытие сессии браузера attach завершает chromedriver, но процесс Chrome, запущенный через launch_chrome, продолжает работать.

Параметры

  • detachboolean

    If true, disconnect without terminating (preserves app state). Default: false

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

Удаляет все cookie-файлы или один cookie-файл по имени из текущего сеанса браузера. Необратимо: удалённые cookie-файлы невозможно восстановить.

Удаляет все cookie-файлы или один cookie-файл по имени из текущего сеанса браузера. Необратимо: удалённые cookie-файлы невозможно восстановить.

Параметры

  • namestring

    Optional cookie name to delete a specific cookie. If not provided, deletes all cookies

drag_and_drop

Перетаскивает элемент на другой элемент или на относительные смещения x/y. x и y — это смещения от исходного элемента, а не абсолютные координаты экрана (в отличие от tap_element). Укажите targetSelector ИЛИ оба параметра x и y. Только для мобильных.

Перетаскивает элемент на другой элемент или на относительные смещения x/y. x и y — это смещения от исходного элемента, а не абсолютные координаты экрана (в отличие от tap_element). Укажите targetSelector ИЛИ оба параметра x и y. Только для мобильных.

Параметры

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

    Source element selector to drag

  • targetSelectorstring

    Target element selector to drop onto

  • xnumber

    Target X offset (if no targetSelector)

  • ynumber

    Target Y offset (if no targetSelector)

  • durationnumber

    Drag duration in milliseconds

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

Эмулирует мобильное устройство или планшет в текущем сеансе браузера, устанавливая viewport, DPR, user-agent и события касания. Требует сеанс с поддержкой BiDi (start_session с capabilities: { webSocketUrl: true }). Опустите device, чтобы вывести список доступных пресетов. Передайте "reset", чтобы восстановить настройки рабочего стола по умолчанию. Изменения сохраняются для всех последующих вызовов инструмента до сброса или закрытия сеанса. Только для браузера.

Эмулирует мобильное устройство или планшет в текущем сеансе браузера, устанавливая viewport, DPR, user-agent и события касания. Требует сеанс с поддержкой BiDi (start_session с capabilities: { webSocketUrl: true }). Опустите device, чтобы вывести список доступных пресетов. Передайте "reset", чтобы восстановить настройки рабочего стола по умолчанию. Изменения сохраняются для всех последующих вызовов инструмента до сброса или закрытия сеанса. Только для браузера.

Параметры

  • devicestring

    Device preset name (e.g. "iPhone 15", "Pixel 7"). Omit to list available presets. Pass "reset" to restore desktop defaults.

execute_script

Выполняет произвольный JavaScript в контексте страницы браузера или команды Appium mobile. Может читать/изменять DOM, запускать события, завершать приложения или выполнять команды Android shell — используйте только, когда ни один специальный инструмент не покрывает это действие. Браузер: передавайте JS в скрипте, используйте 'return' для значений, строковые аргументы, соответствующие селекторам, автоматически разрешаются в элементы. Mobile: используйте синтаксис 'mobile: <command>' в скрипте с массивом args (например, "mobile: pressKey", "mobile: activateApp"). Для стандартных взаимодействий предпочитайте click_element/set_value/get_elements.

Выполняет произвольный JavaScript в контексте страницы браузера или команды Appium mobile. Может читать/изменять DOM, запускать события, завершать приложения или выполнять команды Android shell — используйте только, когда ни один специальный инструмент не покрывает это действие. Браузер: передавайте JS в скрипте, используйте 'return' для значений, строковые аргументы, соответствующие селекторам, автоматически разрешаются в элементы. Mobile: используйте синтаксис 'mobile: <command>' в скрипте с массивом args (например, "mobile: pressKey", "mobile: activateApp"). Для стандартных взаимодействий предпочитайте click_element/set_value/get_elements.

Параметры

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

    JavaScript code (browser) or mobile command string like "mobile: pressKey" (Appium)

  • argsarray

    Arguments to pass to the script. For browser: element selectors or values. For mobile commands: command-specific parameters as objects.

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

Возвращает дерево доступности страницы с ролями, именами и селекторами. Только для браузера. Поддерживает фильтрацию по ARIA-ролям и пагинацию через limit/offset.

Возвращает дерево доступности страницы с ролями, именами и селекторами. Только для браузера. Поддерживает фильтрацию по ARIA-ролям и пагинацию через limit/offset.

Параметры

  • limitnumber

    Maximum number of nodes to return (0 = no limit)

  • offsetnumber

    Number of nodes to skip for pagination

  • rolesstring[]

    Filter by ARIA roles, e.g. ["button", "link", "heading"]

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

Возвращает текущее состояние мобильного приложения: не установлено, не запущено, в фоне или на переднем плане. Только для мобильных устройств.

Возвращает текущее состояние мобильного приложения: не установлено, не запущено, в фоне или на переднем плане. Только для мобильных устройств.

Параметры

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

    App bundle ID (iOS) or package name (Android), e.g. "com.example.app"

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

Возвращает доступные контексты автоматизации и текущий активный контекст. Используйте перед switch_context, чтобы обнаружить цели NATIVE_APP и WEBVIEW_*. Только для мобильных устройств.

Возвращает доступные контексты автоматизации и текущий активный контекст. Используйте перед switch_context, чтобы обнаружить цели NATIVE_APP и WEBVIEW_*. Только для мобильных устройств.

Параметры

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

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

Возвращает все cookies для текущей сессии или один cookie по имени. Используйте для проверки состояния аутентификации, сессионных токенов или feature flags после выполнения входа.

Возвращает все cookies для текущей сессии или один cookie по имени. Используйте для проверки состояния аутентификации, сессионных токенов или feature flags после выполнения входа.

Параметры

  • namestring

    Cookie name to retrieve a specific cookie. If omitted, returns all cookies.

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

Возвращает интерактивные элементы на текущей странице с селекторами, текстом и ограничивающими рамками. Поддерживает фильтрацию по типу элемента, видимости в области просмотра и пагинацию. Используйте, когда ресурс wdio://session/current/elements не возвращает нужные элементы.

Возвращает интерактивные элементы на текущей странице с селекторами, текстом и ограничивающими рамками. Поддерживает фильтрацию по типу элемента, видимости в области просмотра и пагинацию. Используйте, когда ресурс wdio://session/current/elements не возвращает нужные элементы.

Параметры

  • inViewportOnlyboolean

    Only return elements visible in the current viewport (default: false).

  • includeContainersboolean

    Include container elements like divs and sections (default: false)

  • includeBoundsboolean

    Include element bounding box coordinates (default: false)

  • limitnumber

    Maximum number of elements to return (0 = no limit)

  • offsetnumber

    Number of elements to skip (for pagination)

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

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

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

Параметры

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

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

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

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

Параметры

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

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

Скрывает экранную клавиатуру на мобильных устройствах. Вызывайте после ввода текста, когда клавиатура перекрывает элементы. Ничего не делает, если уже скрыта. Только для мобильных.

Скрывает экранную клавиатуру на мобильных устройствах. Вызывайте после ввода текста, когда клавиатура перекрывает элементы. Ничего не делает, если уже скрыта. Только для мобильных.

Параметры

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

launch_chrome

Запускает Chrome с включённой удалённой отладкой. При каждом вызове очищает и создаёт заново временную директорию профиля. Режим "newInstance" (по умолчанию) работает вместе с существующим Chrome; "freshSession" запускается с пустым профилем. Установите copyProfileFiles, чтобы скопировать куки/логины из вашего Default profile - изменения не синхронизируются обратно. После запуска вызовите start_session с attach: true для подключения. Порождает отсоединённый процесс Chrome, который продолжает работу, если сервер завершится.

Запускает Chrome с включённой удалённой отладкой. При каждом вызове очищает и создаёт заново временную директорию профиля. Режим "newInstance" (по умолчанию) работает вместе с существующим Chrome; "freshSession" запускается с пустым профилем. Установите copyProfileFiles, чтобы скопировать куки/логины из вашего Default profile - изменения не синхронизируются обратно. После запуска вызовите start_session с attach: true для подключения. Порождает отсоединённый процесс Chrome, который продолжает работу, если сервер завершится.

Параметры

  • portnumber

    Remote debugging port (default: 9222)

  • modeenum

    newInstance: open alongside existing Chrome | freshSession: clean profile

    newInstancefreshSession
  • copyProfileFilesboolean

    Copy your Default Chrome profile (cookies, logins) into the debug session.

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

Выводит список приложений, загруженных в облачного провайдера (BrowserStack App Automate, Sauce Labs App Storage, TestMu Real Device Cloud, TestingBot Storage или Digital.ai Applications). Считывает специфичные для провайдера учетные данные из окружения.

Выводит список приложений, загруженных в облачного провайдера (BrowserStack App Automate, Sauce Labs App Storage, TestMu Real Device Cloud, TestingBot Storage или Digital.ai Applications). Считывает специфичные для провайдера учетные данные из окружения.

Параметры

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

    Cloud provider

    browserstacksaucelabstestmutestingbotdigitalai
  • sortByenum

    Sort order for results

    app_nameuploaded_at
  • organizationWideboolean

    (BrowserStack only) List apps uploaded by all users in the organization. Defaults to false (own uploads only).

  • limitinteger

    Maximum number of apps to return (only applies when organizationWide is true, default 20)

  • regionenum

    Sauce Labs region (default: eu-central-1)

    us-west-1eu-central-1apac-southeast-1
navigateидемпотентный

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

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

Параметры

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

    The URL to navigate to

open_web_extension

Устанавливает веб-расширение через WebDriver BiDi и открывает одну из его страниц, чтобы существующие MCP-инструменты могли инспектировать и управлять её интерфейсом. Требуется сессия браузера с поддержкой BiDi. Используйте base64 для облачных/удалённых сессий, где драйвер браузера не может прочитать файловую систему MCP-сервера.

Устанавливает веб-расширение через WebDriver BiDi и открывает одну из его страниц, чтобы существующие MCP-инструменты могли инспектировать и управлять её интерфейсом. Требуется сессия браузера с поддержкой BiDi. Используйте base64 для облачных/удалённых сессий, где драйвер браузера не может прочитать файловую систему MCP-сервера.

Параметры

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

    W3C BiDi webExtension.ExtensionData: unpacked directory path, archive path, or base64 archive.

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

    Path inside the extension package, such as options.html or popup.html. Leading slashes are ignored.

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

Поворачивает мобильное устройство в портретную или ландшафтную ориентацию. Ожидает завершения анимации поворота ОС. Используйте для проверки макетов, зависящих от ориентации. Только для мобильных устройств; в браузерных сессиях не работает.

Поворачивает мобильное устройство в портретную или ландшафтную ориентацию. Ожидает завершения анимации поворота ОС. Используйте для проверки макетов, зависящих от ориентации. Только для мобильных устройств; в браузерных сессиях не работает.

Параметры

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

    Device orientation

    PORTRAITLANDSCAPE
scroll

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

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

Параметры

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

    Scroll direction

    updown
  • pixelsnumber

    Number of pixels to scroll

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

Устанавливает cookie браузера на активной сессии. Браузер уже должен находиться на целевом домене - cookie нельзя установить кросс-доменно. Используйте, чтобы внедрить токены сессий или функциональные флаги без входа в систему.

Устанавливает cookie браузера на активной сессии. Браузер уже должен находиться на целевом домене - cookie нельзя установить кросс-доменно. Используйте, чтобы внедрить токены сессий или функциональные флаги без входа в систему.

Параметры

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

    Cookie name

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

    Cookie value

  • domainstring

    Cookie domain (defaults to current domain)

  • pathstring

    Cookie path (defaults to "/")

  • expirynumber

    Expiry date as Unix timestamp in seconds

  • httpOnlyboolean

    HttpOnly flag

  • secureboolean

    Secure flag

  • sameSiteenum

    SameSite attribute

    strictlaxnone
set_geolocationидемпотентный

Переопределяет GPS-координаты для сессии. Влияет на navigator.geolocation в браузерах и службы геолокации на мобильных устройствах. Разрешения на определение местоположения уже должны быть предоставлены приложению.

Переопределяет GPS-координаты для сессии. Влияет на navigator.geolocation в браузерах и службы геолокации на мобильных устройствах. Разрешения на определение местоположения уже должны быть предоставлены приложению.

Параметры

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

    Latitude coordinate

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

    Longitude coordinate

  • altitudenumber

    Altitude in meters (optional)

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

Очищает поле ввода или textarea, затем вводит заданный текст посимвольно. Всегда заменяет существующее содержимое: сначала выполняется clearValue(). Вызывает события input, change и key, которые могут запустить валидацию или автозаполнение. По умолчанию прокручивает в область видимости.

Очищает поле ввода или textarea, затем вводит заданный текст посимвольно. Всегда заменяет существующее содержимое: сначала выполняется clearValue(). Вызывает события input, change и key, которые могут запустить валидацию или автозаполнение. По умолчанию прокручивает в область видимости.

Параметры

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

    Value for the selector, in the form of css selector or xpath ("button.my-class" or "//button[@class='my-class']")

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

    Text to enter into the element

  • scrollToViewboolean

    Whether to scroll the element into view before typing

  • timeoutnumber

    Maximum time to wait for element in milliseconds

start_session

Запускает сессию автоматизации браузера или мобильного устройства. Одновременно может быть активна только одна сессия: запуск новой сначала закрывает текущую. Используйте platform "browser" с названием браузера или "ios"/"android" с deviceName. Установите attach: true, чтобы подключиться к запущенному Chrome через CDP вместо запуска нового браузера.

Запускает сессию автоматизации браузера или мобильного устройства. Одновременно может быть активна только одна сессия: запуск новой сначала закрывает текущую. Используйте platform "browser" с названием браузера или "ios"/"android" с deviceName. Установите attach: true, чтобы подключиться к запущенному Chrome через CDP вместо запуска нового браузера.

Параметры

  • providerenum

    Session provider (default: local). Use "external" to connect to an externally managed W3C WebDriver endpoint. "digitalai" requires DIGITALAI_CLOUD_URL + DIGITALAI_ACCESS_KEY env vars.

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

    Session platform type

    browseriosandroid
  • browserenum

    Browser to launch (required for browser platform)

    chromefirefoxedgesafari
  • browserVersionstring

    Browser version (cloud providers only, default: latest)

  • osstring

    Operating system for cloud provider browser sessions (e.g. "Windows", "Mac", "macOS", "Linux"). BrowserStack: sets bstack:options.os separately. TestMu/Sauce Labs/TestingBot: combined with osVersion into W3C platformName. Digital.ai: combined with osVersion into the digitalai:osName capability (e.g. "Mac OS Sequoia", "Windows 10") — required for the grid to match a node. Browser platform only.

  • osVersionstring

    OS version for cloud provider browser sessions (e.g. "11", "15", "Monterey"). BrowserStack: sets bstack:options.osVersion separately. TestMu/Sauce Labs/TestingBot: combined with os into W3C platformName. Digital.ai: combined with os into digitalai:osName. Browser platform only.

  • appstring

    App URL (bs://... for BrowserStack, storage:filename= for Sauce Labs, lt://... for TestMu, tb://... for TestingBot, cloud:<package-or-bundle> for Digital.ai mobile sessions)

  • reportingobject

    Cloud provider reporting labels (project, build, session)

  • headlessboolean

    Run browser in headless mode (default: true)

  • windowWidthnumber

    Browser window width

  • windowHeightnumber

    Browser window height

  • deviceNamestring

    Mobile device/emulator/simulator name (required for ios/android)

  • deviceQuerystring

    Digital.ai device selection query for dynamic allocation, e.g. "@os='android' and @version='14' and @name='.*Pixel.*'". Only used with provider: "digitalai" mobile sessions; if omitted, one is built from deviceName/platformVersion.

  • platformVersionstring

    OS version for mobile sessions (e.g., "17.0", "14"). Mobile (ios/android) only.

  • appPathstring

    Path to app file (.app/.apk/.ipa)

  • automationNameenum

    Automation driver

    XCUITestUiAutomator2
  • autoGrantPermissionsboolean

    Auto-grant app permissions (default: true)

  • autoAcceptAlertsboolean

    Auto-accept alerts (default: true)

  • autoDismissAlertsboolean

    Auto-dismiss alerts (default: false)

  • appWaitActivitystring

    Activity to wait for on Android launch

  • udidstring

    Unique Device Identifier for iOS real device

  • noResetboolean

    Preserve app data between sessions

  • fullResetboolean

    Uninstall app before/after session

  • newCommandTimeoutnumber

    Appium command timeout in seconds

  • traceboolean

    Enable trace recording — produces a Playwright-compatible zip saved to .trace/ on close_session, playable at player.vibium.dev.

  • attachboolean

    Attach to existing Chrome instead of launching

  • attachConfigobject

    Chrome remote debugging connection (attach mode only, defaults: port 9222, host localhost)

  • webdriverConfigobject

    Existing W3C WebDriver endpoint connection (provider: "external" only). Defaults to 127.0.0.1:4445/.

  • appiumConfigobject

    Appium server connection (local provider only)

  • regionenum

    Sauce Labs region (default: eu-central-1). Only used with provider: "saucelabs".

    us-west-1eu-central-1apac-southeast-1
  • tunnelany

    Enable local tunnel routing (cloud providers only, default: false). true = auto-start tunnel before session and stop on close. "external" = tunnel already running externally.

  • tunnelNamestring

    Tunnel identifier name. With tunnel: "external" this must match the running tunnel. With tunnel: true a unique name is auto-generated if not provided.

  • browserstackLocalany

    Deprecated: use "tunnel" instead. Enable BrowserStack Local tunnel routing.

  • saucelabsLocalany

    Deprecated: use "tunnel" instead. Enable Sauce Connect tunnel routing.

  • testmuLocalany

    Deprecated: use "tunnel" instead. Enable TestMu Tunnel routing.

  • navigationUrlstring

    URL to navigate to after starting

  • capabilitiesobject

    Additional capabilities to merge

swipe

Выполняет жест смахивания на весь экран. Направление определяет движение контента: «вверх» прокручивает контент вверх (палец движется вниз). Для прокрутки в браузере используйте scroll; для перетаскивания конкретного элемента — drag_and_drop. Ошибка не возникает, если контент нельзя прокрутить дальше. Только для мобильных устройств.

Выполняет жест смахивания на весь экран. Направление определяет движение контента: «вверх» прокручивает контент вверх (палец движется вниз). Для прокрутки в браузере используйте scroll; для перетаскивания конкретного элемента — drag_and_drop. Ошибка не возникает, если контент нельзя прокрутить дальше. Только для мобильных устройств.

Параметры

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

    Swipe direction

    updownleftright
  • durationnumber

    Swipe duration in milliseconds (default: 500)

  • percentnumber

    Percentage of screen to swipe (0-1, default: 0.5 for up/down, 0.95 for left/right)

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

Переключает контексты автоматизации между нативным и webview в гибридном мобильном приложении. В контексте NATIVE_APP используйте accessibility ID; в контексте WEBVIEW_* используйте CSS/XPath. Изменения сохраняются для всех последующих команд. Принимает имя контекста или индекс, начиная с 1. Используйте get_contexts, чтобы узнать доступные цели. Только для мобильных устройств.

Переключает контексты автоматизации между нативным и webview в гибридном мобильном приложении. В контексте NATIVE_APP используйте accessibility ID; в контексте WEBVIEW_* используйте CSS/XPath. Изменения сохраняются для всех последующих команд. Принимает имя контекста или индекс, начиная с 1. Используйте get_contexts, чтобы узнать доступные цели. Только для мобильных устройств.

Параметры

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

    Context name to switch to (e.g., "NATIVE_APP", "WEBVIEW_com.example.app", or use index from wdio://session/current/contexts resource)

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

Переключает контекст фрейма WebDriver внутрь iframe по CSS/XPath селектору, или обратно на верхний уровень, если селектор не указан. Изменения сохраняются — все последующие вызовы click_element, set_value, get_elements работают внутри переключенного фрейма, пока вы не переключитесь обратно. Ожидает появления iframe до 5 секунд. Только для браузера.

Переключает контекст фрейма WebDriver внутрь iframe по CSS/XPath селектору, или обратно на верхний уровень, если селектор не указан. Изменения сохраняются — все последующие вызовы click_element, set_value, get_elements работают внутри переключенного фрейма, пока вы не переключитесь обратно. Ожидает появления iframe до 5 секунд. Только для браузера.

Параметры

  • selectorstring

    CSS/XPath selector for the iframe element. Omit to switch back to the top-level frame.

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

Фокусирует вкладку браузера по её дескриптору (handle) или индексу, начиная с 0. Все последующие вызовы инструментов работают с активной вкладкой. Передавайте handle или индекс — используйте get_tabs, чтобы их получить. Только для браузера; для мобильных WebView используйте switch_context.

Фокусирует вкладку браузера по её дескриптору (handle) или индексу, начиная с 0. Все последующие вызовы инструментов работают с активной вкладкой. Передавайте handle или индекс — используйте get_tabs, чтобы их получить. Только для браузера; для мобильных WebView используйте switch_context.

Параметры

  • handlestring

    Window handle to switch to

  • indexinteger

    0-based tab index to switch to

tap_element

Выполняет тап по найденному элементу через element.tap() или по абсолютным координатам экрана (x, y). Без прокрутки в область видимости или ожидания — элемент уже должен быть на экране. Используйте вместо click_element на iOS, где element.click() игнорируется. Укажите селектор ИЛИ оба значения x и y. Только для мобильных устройств.

Выполняет тап по найденному элементу через element.tap() или по абсолютным координатам экрана (x, y). Без прокрутки в область видимости или ожидания — элемент уже должен быть на экране. Используйте вместо click_element на iOS, где element.click() игнорируется. Укажите селектор ИЛИ оба значения x и y. Только для мобильных устройств.

Параметры

  • selectorstring

    Element selector (CSS, XPath, accessibility ID, or UiAutomator)

  • xnumber

    X coordinate for screen tap (if no selector provided)

  • ynumber

    Y coordinate for screen tap (if no selector provided)

upload_app

Загружает локальный .apk или .ipa в облачного провайдера (BrowserStack, Sauce Labs, TestMu, TestingBot или Digital.ai). Возвращает URL приложения для использования в start_session.

Загружает локальный .apk или .ipa в облачного провайдера (BrowserStack, Sauce Labs, TestMu, TestingBot или Digital.ai). Возвращает URL приложения для использования в start_session.

Параметры

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

    Cloud provider

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

    Absolute path to the .apk or .ipa file

  • customIdstring

    Optional custom ID for the app (used to reference it later)

  • regionenum

    Sauce Labs region (default: eu-central-1)

    us-west-1eu-central-1apac-southeast-1

Другие проверенные MCP-сервера

idosal/git-mcp

idosal/git-mcp

GitMCP — бесплатный открытый MCP-сервер, подключающий AI-ассистентов к актуальной документации и коду любого GitHub-проекта. Устраняет галлюцинации, работает без установки, через SSE-подключение. П...

TypeScript8265
Exa MCP Server

Exa MCP Server

официальный

Exa MCP Server даёт AI-ассистентам доступ к веб-поиску, поиску кода и исследованию компаний через Exa. Сервер легко интегрируется в Cursor, VS Code и Claude, предоставляя готовые инструменты для разработчиков. Просто подключите API-ключ и получите актуальные данные.

TypeScript4742
googleapis/genai-toolbox

googleapis/genai-toolbox

официальный

MCP Toolbox for Databases - открытый MCP сервер для AI-агентов и IDE, подключающий к базам данных. Содержит готовые инструменты и фреймворк для кастомных инструментов с аутентификацией и мониторингом. Упрощает работу с данными.

Go15979
heurist-network/heurist-mesh-mcp-server

heurist-network/heurist-mesh-mcp-server

официальный

Сервер MCP на базе Heurist Mesh для Web3-аналитики: 30+ AI-агентов для анализа трендов, токенов и кошельков. Интегрируется с Claude, Cursor, оптимизирован для AI. Полезен разработчикам и трейдерам.

Python66
Label Studio MCP

Label Studio MCP

официальный

MCP сервер для интеграции с Label Studio: управляйте проектами разметки, задачами и предсказаниями через простые запросы. Создавайте проекты, импортируйте задачи, получайте аннотации и многое другое.

Python33
TencentCloudBase/CloudBase-AI-ToolKit

TencentCloudBase/CloudBase-AI-ToolKit

официальный

MCP-сервер CloudBase соединяет AI IDE с облачной инфраструктурой Tencent Cloud, позволяя разработчикам развёртывать приложения одной командой. Он заполняет разрыв между генерацией кода и деплоем, автоматизируя настройку функций, баз данных и хостинга. Полезен для AI-программистов, которые хотят у...

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

Лука Никитин