MCP server enabling AI agents to automate browsers and mobile apps via WebDriverIO and Appium protocols.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Webdriverio MCP.
start_sessionStart a browser, local Electron application, or mobile app session; `attach: true` retains the existing Chrome CDP connection mode
attach_sessionAttach to an existing remote WebDriver/Appium session by ID without creating a new session
launch_chromeLaunch a new Chrome instance with remote debugging enabled (for use with `start_session({ attach: true })`)
close_sessionClose or detach from the current session (supports `detach: true` to disconnect without terminating)
emulate_deviceEmulate a mobile/tablet device preset (viewport, DPR, UA, touch); requires BiDi session
open_web_extensionInstall a web extension through WebDriver BiDi and open one of its extension pages so normal page tools can drive its UI
A Model Context Protocol (MCP) server that enables AI assistants to interact with web browsers, local Electron applications, and mobile applications using WebdriverIO. Automate Chrome, Firefox, Edge, Safari, Electron, iOS, and Android through a unified interface.
Add the following configuration to your MCP client settings:
Standard config (works in most clients):
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):
Add to your VS Code settings.json or cline_mcp_settings.json file:
Go to Cursor Settings โ MCP โ Add new MCP Server, or create .cursor/mcp.json:
Use the Codex CLI:
Or edit ~/.codex/config.toml:
Go to Advanced settings โ Extensions โ Add custom extension, or run:
Or edit ~/.config/goose/config.yaml:
Edit ~/.codeium/windsurf/mcp_config.json:
Edit Zed settings (~/.config/zed/settings.json):
โ ๏ธ Restart Required: After adding the configuration, fully restart your MCP client to apply the changes.
If you prefer to install globally:
Then use wdio-mcp as the command:
๐ Need help? Follow the MCP install guide.
By default the server uses stdio (subprocess) transport. For clients that cannot launch subprocesses (e.g. llama.cpp, OpenAI Codex secure mode), enable HTTP transport:
| Flag | Default | Description |
|---|---|---|
--http | โ | Enable HTTP transport mode |
--port | 3000 | Port to listen on |
--allowedHosts | localhost,127.0.0.1,::1 | Allowed Host header values (DNS rebinding protection) |
--allowedOrigins | (none โ browser clients blocked) | Allowed Origin values for CORS. Use * to allow all. |
Then point your MCP client at http://localhost:3000/mcp.
npm install -g appiumappium driver install xcuitest (requires Xcode on macOS)appium driver install uiautomator2 (requires Android Studio)Start the Appium server before using mobile features:
Run browser and mobile app tests on cloud real devices and browsers without any local setup. Currently supports BrowserStack, Sauce Labs, LambdaTest, TestingBot, and Digital.ai Testing.
Set your provider credentials as environment variables or in your MCP client config:
| SAUCE_USERNAME | Sauce Labs username (required) |
| SAUCE_ACCESS_KEY | Sauce Labs access key (required) |
The data center is set per-session via the region parameter in start_session (defaults to eu-central-1).
| TESTMU_USERNAME | LambdaTest username (required) |
| TESTMU_ACCESS_KEY | LambdaTest access key (required) |
| TESTINGBOT_KEY | TestingBot key (required) |
| TESTINGBOT_SECRET | TestingBot secret (required) |
| DIGITALAI_CLOUD_URL | Digital.ai cloud host, e.g. https://your-cloud.example.com (required) |
| DIGITALAI_ACCESS_KEY | Digital.ai access key (required) |
The access key is sent via the digitalai:options capability (mobile) or the flat digitalai:accessKey capability (web).
Report pass/fail status: WebdriverIO defaults to the BiDi protocol, over which Digital.ai's cloud cannot observe command failures โ so reports default to "Passed". To make the cloud reflect actual pass/fail, opt in to classic WebDriver per session:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/webdriverio-mcp)<a href="https://allmcps.com/mcp/webdriverio-mcp"><img src="https://allmcps.com/api/badge/webdriverio-mcp?style=directory" alt="Webdriverio MCP on AllMCPs" /></a>