WebDriverIO MCP 服务器
使用说明内容(Markdown格式)
-
项目简介
- 这是一个基于 MCP 的服务器端实现,面向 Claude Desktop 等 MCP 客户端,提供浏览器自动化(Chrome、Firefox、Edge、Safari)以及 iOS/Android 移动应用的自动化能力。通过 JSON-RPC 风格的请求-响应,客户端可以查询能力、调用工具、获取或执行 Prompts 等。
-
主要功能点
- MCP 服务端核心:接收客户端请求、执行已注册工具、返回结构化响应,支持会话管理与能力声明。
- 工具集合:包含浏览器会话管理、导航、元素交互、截屏、Cookies、移动手势、应用状态、上下文切换、设备控制、脚本执行等多种工具。
- 会话与设备管理:实现 start_browser、close_session、start_app_session、get_app_state、get_app_state 等多种会话相关工具,覆盖浏览器和移动端。
- 跨平台支持:浏览器(Chrome/Firefox/Edge/Safari)与移动端(iOS/Android,Appium 基于 XCUITest、UiAutomator2/Espresso)。
- 脚本与定位:提供 execute_script、get_visible_elements、get_accessibility、get_contexts、switch_context 等能力,方便 LLM 与真实应用的交互。
- 传输与日志:使用 Stdio 传输实现与 Claude Desktop 的对话,统一输出到标准错误,避免干扰 MCP 协议日志。
-
安装步骤
- 安装依赖:在项目根目录执行 npm install 以获取所需依赖。
- 构建与运行:执行构建命令,将 TypeScript 代码编译为可执行的 JS 入口(如 lib/server.js),随后在需要的环境中以 Node 运行该入口。
- 运行方式示例(环境搭建完成后可执行)
- 通过 Claude Desktop 的 MCP 配置将服务器作为一个 MCP 服务接入到工作流中,随后客户端即可通过 MCP 调用注册的工具。
-
服务器配置(MCP 客户端要点,不需要你自行编写服务内部实现,只需在客户端配置中指向启动命令和参数)
- MCP 客户端配置示例(文字描述,不包含代码块)
- MCP 服务器名:wdio-mcp
- 启动命令:npx
- 参数:-y, @wdio/mcp
- 注释:客户端通过指定的命令与参数启动 MCP 服务器。该启动方式在仓库示例中体现为对 Claude Desktop 的集成场景,确保 MCP 客户端在启动时能够加载并与服务器建立 JSON-RPC 连接。
- 备选配置(全局安装场景)
- MCP 服务器名:wdio-mcp
- 启动命令:wdio-mcp
- 注释:若已全局安装相关包,可直接通过可执行文件启动 MCP 服务器。
- MCP 客户端配置示例(文字描述,不包含代码块)
-
基本使用方法
- 在 Claude Desktop 或其他 MCP 客户端中,将上述服务器配置添加到 MCP 设置中,确保客户端知道如何启动服务器以及连接方式。
- 启动并保持一个活跃会话:
- 启动浏览器会话(start_browser),或启动移动应用会话(start_app_session)。
- 使用不同工具执行浏览器/移动端操作(如 navigate、click_element、set_value、take_screenshot、get_visible_elements 等),获取结构化输出或托管到 LLM 的上下文信息。
- 会话管理要点:
- 同一时刻只能有一个会话处于活动状态(浏览器或应用),用 close_session 进行终止或 detach 以保持服务器端状态。
- 现场示例(描述性)
- 启动 Chrome 浏览器,打开指定网址,进行简单交互并截屏,用以验证页面状态。
- 启动一个移动应用会话,执行简单界面操作并获取应用状态。