MCP(模型上下文协议)
它能做什么?
WebdriverIO MCP 是一个模型上下文协议(MCP)服务器,使 Claude Desktop 和 Claude Code 等 AI 助手能够自动化并与网络浏览器和移动应用程序交互。
为什么选择 WebdriverIO MCP?
- 移动优先:不同于仅支持浏览器的 MCP 服务 器,WebdriverIO MCP 通过 Appium 支持 iOS 和 Android 原生应用自动化
- 跨平台选择器:智能元素检测自动生成多种定位策略(可访问性 ID、XPath、UiAutomator、iOS 谓词)
- WebdriverIO 生态系统:基于经过实战检验的 WebdriverIO 框架,拥有丰富的服务和报告生态系统
它为以下平台提供了统一的接口:
- 🖥️ 桌面浏览器(Chrome - 有头或无头模式)
- 📱 原生移动应用(iOS 模拟器 / Android 模拟器 / 通过 Appium 连接的真机)
- 📳 混合移动应用(通过 Appium 在原生和 WebView 上下文之间切换)
通过 @wdio/mcp 包实现。
这使得 AI 助手能够:
- 启动和控制浏览器,可配置尺寸、无头模式和可选的初始导航
- 浏览网站并与元素交互(点击、输入、滚动)
- 分析页面内容,通过可访问性树和可见元素检测(支持分页)
- 截图自动优化(调整大小、压缩至最大 1MB)
- 管理 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
通过在 claude code 中运行 /mcp 命令来验证它。
快速入门示例
浏览器自动化
请求 Claude 自动执行浏览器任务:
"打开 Chrome 并导航到 https://webdriver.io"
"点击'Get Started'按钮"
"截取页面的屏幕截图"
"查找页面上所有可见链接"
移动应用自动化
请求 Claude 自动执行移动应用任务:
"在 iPhone 15 模拟器上启动我的 iOS 应用"
"点击登录按钮"
"向上滑动以向下滚动"
"截取当前屏幕的屏幕截图"
功能
浏览器自动化 (Chrome)
| 功能 | 描述 |
|---|---|
| 会话管理 | 以有头/无头模式启动 Chrome,自定义尺寸和可选的导航 URL |
| 导航 | 导航到 URL |
| 元素交互 | 点击元素,输入文本,通过各种选择器查找元素 |
| 页面分析 | 获取可见元素(带分页),可访问性树(带过滤) |
| 截图 | 捕获截图(自动优化到最大 1MB) |
| 滚动 | 通过可配置的像素数量上下滚动 |
| Cookie 管理 | 获取、设置和删除 cookies |
| 脚本执行 | 在浏览器上下文中执行自定义 JavaScript |
移动应用自动化 (iOS/Android)
| 功能 | 描述 |
|---|---|
| 会话管理 | 在模拟器、仿真器或真机上启动应用 |
| 触摸手势 | 点击、滑动、拖放 |
| 元素检测 | 具有多种定位策略和分页的智能元素检测 |
| 应用生命周期 | 获取应用状态(通过 execute_script 激活/终止) |
| 上下文切换 | 在混合应用中的原生和 webview 上下文之间切换 |
| 设备控制 | 旋转设备,键盘控制 |
| 地理位置 | 获取和设置设备 GPS 坐标 |
| 权限 | 自动权限和警告处理 |
| 脚本执行 | 执行 Appium 移动命令(pressKey、deepLink、shell 等) |