MCP (Протокол контекста модели)
Что он может делать?
WebdriverIO MCP - это сервер протокола контекста модели (MCP), который позволяет ИИ-ассистентам, таким как Claude Desktop и Claude Code, автоматизировать и взаимодействовать с веб-браузерами и мобильными приложениями.
Почему WebdriverIO MCP?
- Ориентирован на мобильные устройства: В отличие от серверов MCP только для браузеров, WebdriverIO MCP поддерживает автоматизацию нативных приложений iOS и Android через Appium
- Кросс-платформенные селекторы: Умное обнаружение элементов автоматически генерирует несколько стратегий локаторов (accessibility ID, XPath, UiAutomator, iOS predicates)
- Экосистема WebdriverIO: Построен на проверенном фреймворке WebdriverIO с его богатой экосистемой сервисов и репортеров
Он обеспечивает единый интерфейс для:
- 🖥️ Настольных браузеров (Chrome - в режиме с графическим интерфейсом или headless)
- 📱 Нативных мобильных приложений (Симуляторы iOS / Эмуляторы Android / Реальные устройства через Appium)
- 📳 Гибридных мобильных приложений (переключение между нативным контекстом и WebView через Appium)
через пакет @wdio/mcp.
Это позволяет ИИ-ассистентам:
- Запускать и управлять браузерами с настраиваемыми размерами, режимом headless и опциональной начальной навигацией
- Переходить по веб-сайтам и взаимодействовать с элементами (клик, ввод текста, прокрутка)
- Анализировать содержимое страницы через дерево доступности и обнаружение видимых элементов с поддержкой пагинации
- Делать скри ншоты, автоматически оптимизированные (изменение размера, сжатие до макс. 1МБ)
- Управлять cookies для обработки сессий
- Управлять мобильными устройствами, включая жесты (нажатие, свайп, перетаскивание)
- Переключать контексты в гибридных приложениях между нативным и webview
- Выполнять скрипты - JavaScript в браузерах, мобильные команды Appium на устройствах
- Работать с функциями устройств, такими как поворот, клавиатура, геолокация
- и многое другое, смотрите Инструменты и Конфигурацию
ПРИМЕЧАНИЕ для мобильных приложений Мобильная автоматизация требует запущенного сервера Appium с установленными соответствующими драйверами. См. Предварительные требования для инструкций по настройк е.
Установка
Самый простой способ использовать @wdio/mcp - через npx без локальной установки:
npx @wdio/mcp
Или установите его глобально:
npm install -g @wdio/mcp
Использование с Claude
Для использования WebdriverIO MCP с Claude, измените конфигурационный файл:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
После добавления конфигурации перезапустите Claude. Инструменты WebdriverIO MCP будут доступны для автоматизации браузера и мобильных устройств.
Использование с Claude Code
Claude Code автоматически определяет серверы MCP. Вы можете настроить его в .claude/settings.json вашего проекта или в .mcp.json.
Или добавьте его глобально в .claude.json, выполнив:
claude mcp add --transport stdio wdio-mcp -- npx -y @wdio/mcp
Проверьте его, запустив команду /mcp внутри Claude Code.
Примеры быстрого старта
Автоматизация браузера
Попросите Claude автоматизировать задачи в браузере:
"Открой Chrome и перейди на https://webdriver.io"
"Нажми на кнопку 'Get Started'"
"Сделай скриншот страницы"
"Найди все видимые ссылки на странице"
Автоматизация мобильных приложений
Попросите Claude автоматизировать мобильные приложения:
"Запусти мое iOS приложение на симуляторе iPhone 15"
"Нажми на кнопку входа"
"Сделай свайп вверх для прокрутки вниз"
"Сделай скриншот текущего экрана"
Возможности
Автоматизация браузера (Chrome)
| Функция | Описание |
|---|---|
| Управление сессией | Запуск Chrome в режиме с графическим интерфейсом/headless с настраиваемыми размерами и опциональным URL для навигации |
| Навигация | Переход по URL |
| Взаимодействие с элементами | Клик по элементам, ввод текста, поиск элементов по различным селекторам |
| Анализ страницы | Получение видимых элементов (с пагинацией), дерево доступности (с фильтрацией) |
| Скриншоты | Захват скриншотов (автоматически оптимизированных до макс. 1МБ) |
| Прокрутка | Прокрутка вверх/вниз на настраиваемое количество пикселей |
| Управление cookies | Получение, установка и удаление cookies |
| Выполнение скриптов | Выполнение пользователь ского JavaScript в контексте браузера |
Автоматизация мобильных приложений (iOS/Android)
| Функция | Описание |
|---|---|
| Управление сессией | Запуск приложений на симуляторах, эмуляторах или реальных устройствах |
| Сенсорные жесты | Нажатие, свайп, перетаскивание |
| Обнаружение элементов | Умное обнаружение элементов с несколькими стратегиями локаторов и пагинацией |
| Жизненный цикл приложения | Получение состояния приложения (через execute_script для активации/завершения) |
| Переключение контекста | Переключение между нативным контекстом и webview в гибридных приложениях |
| Управление устройством | Поворот устройства, управление клавиатурой |
| Геолокация | Получение и установка GPS-координат устройства |
| Разрешения | Автоматическая обработка разрешений и оповещений |
| Выполнение скриптов | Выполнение мобильных команд Appium (pressKey, deepLink, shell и т.д.) |
Предварительные требования
Автоматизация браузера
- Chrome должен быть установлен в вашей системе
- WebdriverIO автоматически управляет ChromeDriver
Мобильная автоматизация
iOS
- Установите Xcode из Mac App Store
- Установите инструменты командной строки Xcode:
xcode-select --install - Установите Appium:
npm install -g appium - Установите драйвер XCUITest:
appium driver install xcuitest - Запустите сервер Appium:
appium - Для симуляторов: Откройте Xcode → Window → Devices and Simulators для создания/управления симуляторами
- Для реальных устройств: Вам понадобится UDID устройства (40-символьный уникальный идентификатор)
Android
- Установите Android Studio и настройте Android SDK
- Установите переменные окружения:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools - Установите Appium:
npm install -g appium - Установите драйвер UiAutomator2:
appium driver install uiautomator2 - Запустите сервер Appium:
appium - Создайте эмулятор через Android Studio → Virtual Device Manager
- Запустите эмулятор перед запуском тестов