← 返回目录
W

WebdriverIO MCP Server

官方
用 WebDriverIO 驱动浏览器与 iOS/Android 应用的 MCP 自动化服务器
GitHub 源仓库 ↗
★ 37 Stars 分类 · 浏览器自动化 热门
62FMRS · C

由 WebDriverIO 官方团队维护、文档详尽且功能全面的浏览器与移动自动化 MCP 服务器,覆盖本地与主流云真机平台,支持会话录制和代码导出。适合测试场景,但受单会话模型和移动端平台前提(macOS+Xcode、Appium)限制。

可靠性
9/20
安全与权限
11/20
维护活跃度
11/20
文档质量
17/20
安装易用性
14/20
查看 FMRS 评分方法 →

WebdriverIO MCP Server 是由 WebDriverIO 团队维护的开源(MIT)MCP 服务器,让 AI 助手通过统一接口自动化 Chrome、Firefox、Edge、Safari 浏览器以及 iOS 和 Android 移动应用。它基于 TypeScript、WebDriverIO 和 Appium 构建,支持本地浏览器会话、通过 Appium 的移动测试、五大云真机平台(BrowserStack、Sauce Labs、LambdaTest、TestingBot、Digital.ai)、连接已运行的 Chrome 或外部 WebDriver 端点、设备模拟、Cookie 管理、会话录制并可导出可运行的 WebdriverIO JS 脚本。默认使用 stdio 传输,也提供 --http 模式(默认端口 3000)。同一时间只能有一个活动会话。

工具能力

start_session
启动新的浏览器或应用会话,支持本地、云服务商及外部 WebDriver 端点,attach: true 可连接已运行的 Chrome
attach_session
按 ID 附加到已存在的远程 WebDriver/Appium 会话,而不创建新会话
launch_chrome
启动一个开启远程调试的 Chrome 实例,供 attach 会话使用
close_session
关闭当前会话,支持 detach: true 在不终止会话的情况下断开
emulate_device
模拟移动/平板设备预设(视口、DPR、UA、触摸),需要 BiDi 会话
open_web_extension
通过 WebDriver BiDi 安装浏览器扩展并打开其页面,以便用普通页面工具驱动扩展 UI
navigate
导航到指定 URL
get_elements
获取页面上可见可交互的元素,支持仅视口过滤和包含布局容器
get_accessibility_tree
获取页面无障碍树(角色、名称、选择器),仅限浏览器
get_screenshot
对当前页面或屏幕截图(base64,自动缩放至最大 2000px / 1MB)
get_tabs
列出所有打开的浏览器标签页及其句柄、标题、URL 和激活状态
scroll
按指定像素向上或向下滚动页面
execute_script
在浏览器中执行任意 JavaScript,或在移动设备上执行 Appium 命令
switch_tab
按句柄或索引切换浏览器标签页
switch_frame
按 CSS/XPath 选择器切入 iframe 或返回顶层框架
click_element
点击某个元素
set_value
向输入框输入文本
get_cookies
获取当前会话的全部 Cookie 或按名称获取单个 Cookie
set_cookie
设置带名称、值及可选属性的 Cookie
delete_cookies
删除全部或指定 Cookie
tap_element
按选择器或坐标点击移动端元素
swipe
在移动设备上向上/下/左/右滑动
drag_and_drop
在移动设备上执行拖放操作
get_contexts
列出可用的自动化上下文(NATIVE_APP、WEBVIEW_*)及当前激活上下文
switch_context
在原生和 webview 上下文之间切换
get_app_state
获取移动应用的当前生命周期状态
rotate_device
将设备旋转为横屏或竖屏
hide_keyboard
隐藏屏幕键盘
set_geolocation
设置设备 GPS 位置
upload_app
上传本地 .apk 或 .ipa 到云服务商并返回应用引用
list_apps
列出之前上传到云服务商应用存储中的应用

安装接入

在 MCP 客户端配置中添加 {"mcpServers":{"wdio-mcp":{"command":"npx","args":["-y","@wdio/mcp@latest"]}}},然后完全重启客户端。也可全局安装:npm install -g @wdio/mcp,并将命令改为 wdio-mcp。非子进程客户端可运行 npx @wdio/mcp --http --port 3000 启用 HTTP 传输。移动自动化需预先全局安装 Appium(npm install -g appium)、安装对应平台驱动(iOS: xcuitest,需 macOS + Xcode;Android: uiautomator2,需 Android Studio),并先启动 appium 服务器(默认 http://127.0.0.1:4723)。iOS 真机测试需提供设备 UDID。

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

选型与风险

适合谁

  • 需要网页与移动端一体化自动化的测试工程师
  • 希望用自然语言驱动浏览器操作和生成测试脚本的开发者
  • 已使用 WebdriverIO/Appium 生态并想接入云真机平台的团队

不适合谁

  • iOS 移动自动化需 macOS + Xcode,其他平台用户不适用
  • 需要并行多个活动会话的场景(同时仅支持一个会话)
  • 没有 Node.js/npm 环境或无法运行子进程的受限客户端(除非使用 HTTP 模式)

所需权限

  • 本地运行浏览器(Chrome/Firefox/Edge/Safari)及自动化驱动
  • 本地执行 npm/npx 及 Appium 服务器
  • 读取本地应用包路径(.apk/.app/.ipa)
  • 云平台凭据环境变量(如 BROWSERSTACK_USERNAME/ACCESS_KEY、SAUCE_USERNAME/ACCESS_KEY 等)
  • 访问网络与云服务商 REST API;本地隧道访问内网 URL

风险与副作用

  • AI 可操作真实浏览器和移动设备,可能误触生产账号或已登录会话
  • execute_script 可在浏览器中执行任意 JavaScript
  • 云凭据配置在环境变量或客户端配置中,泄露即暴露云测试账户
  • Digital.ai 下纯客户端断言失败可能被误报为 Passed
  • 读取日志资源会按 WebDriver 规范清空日志缓冲区

常见排障

  1. 浏览器自动化失败:确认已安装对应浏览器(Safari 需 macOS),完全重启客户端,检查无其他 WebDriver 实例
  2. 移动自动化失败:确认 appium 服务器已运行,adb devices 或 Xcode 设备可见,平台驱动已安装,应用路径正确
  3. 配置更改后需完全重启 MCP 客户端
  4. iOS 真机需 40 位 UDID
  5. 同一时间只允许一个活动会话,切换浏览器/移动前需先关闭当前会话

使用场景

让 AI 助手自动化测试网页应用的登录、搜索等基本流程
在模拟器或真机上测试 Android/iOS 原生应用与混合应用
在 BrowserStack、Sauce Labs、LambdaTest、TestingBot、Digital.ai 等云真机上运行浏览器和移动测试
连接已运行的 Chrome 调试需要登录态的会话
将自动化操作录制成可运行的 WebdriverIO JS 脚本用于回归测试

支持客户端

Claude Desktop完整支持
Claude Code完整支持
Cline完整支持
Cursor完整支持
Codex完整支持
Goose完整支持
Windsurf完整支持
Zed完整支持
VS Code (Copilot)完整支持