Summary
Add native LambdaTest support to wdio-mcp as a cloud provider, following the same pattern as the existing BrowserStack integration. This would allow users to start mobile and browser sessions on LambdaTest real devices without exposing credentials through the AI agent context.
Motivation
Currently, wdio-mcp supports BrowserStack as a cloud provider via:
{
"provider": "browserstack",
"platform": "android"
}
The MCP server reads BROWSERSTACK_USERNAME and BROWSERSTACK_ACCESS_KEY environment variables internally and handles authentication without those credentials ever passing through the AI agent's context (Copilot, Claude, etc.).
LambdaTest users have no equivalent path. The only workaround is to pass credentials explicitly in start_session capabilities:
{
"appiumUrl": "https://<LT_USERNAME>:<LT_ACCESS_KEY>@mobile-hub.lambdatest.com/wd/hub",
"capabilities": {
"LT:options": {
"username": "<LT_USERNAME>",
"accessKey": "<LT_ACCESS_KEY>"
}
}
}
This creates two problems:
- Security — credentials are passed through the AI agent's context and sent to the AI provider's backend (GitHub Copilot, Anthropic, etc.) as part of the tool call parameters
- Usability — the AI agent either asks the user for credentials directly (a security anti-pattern) or requires complex workarounds (wrapper scripts, Windows user env vars) just to authenticate
Proposed API
Following the BrowserStack pattern, LambdaTest support should work like this:
{
"provider": "lambdatest",
"platform": "android",
"app": "lt://APP_ID",
"deviceName": "Pixel 7",
"platformVersion": "13",
"reporting": {
"project": "MyProject",
"build": "v1.0.0",
"session": "Login flow"
}
}
{
"provider": "lambdatest",
"platform": "ios",
"app": "lt://APP_ID",
"deviceName": "iPhone 15",
"platformVersion": "17",
"reporting": {
"project": "MyProject",
"build": "v1.0.0",
"session": "Checkout flow"
}
}
The MCP server would read credentials from environment variables internally:
LT_USERNAME=your_username
LT_ACCESS_KEY=your_access_key
And construct the full LambdaTest capability set internally, including:
appiumUrl: https://<LT_USERNAME>:<LT_ACCESS_KEY>@mobile-hub.lambdatest.com/wd/hub
LT:options with username, accessKey, project, build, name
Summary
Add native LambdaTest support to
wdio-mcpas a cloud provider, following the same pattern as the existing BrowserStack integration. This would allow users to start mobile and browser sessions on LambdaTest real devices without exposing credentials through the AI agent context.Motivation
Currently,
wdio-mcpsupports BrowserStack as a cloud provider via:{ "provider": "browserstack", "platform": "android" }The MCP server reads
BROWSERSTACK_USERNAMEandBROWSERSTACK_ACCESS_KEYenvironment variables internally and handles authentication without those credentials ever passing through the AI agent's context (Copilot, Claude, etc.).LambdaTest users have no equivalent path. The only workaround is to pass credentials explicitly in
start_sessioncapabilities:{ "appiumUrl": "https://<LT_USERNAME>:<LT_ACCESS_KEY>@mobile-hub.lambdatest.com/wd/hub", "capabilities": { "LT:options": { "username": "<LT_USERNAME>", "accessKey": "<LT_ACCESS_KEY>" } } }This creates two problems:
Proposed API
Following the BrowserStack pattern, LambdaTest support should work like this:
{ "provider": "lambdatest", "platform": "android", "app": "lt://APP_ID", "deviceName": "Pixel 7", "platformVersion": "13", "reporting": { "project": "MyProject", "build": "v1.0.0", "session": "Login flow" } }{ "provider": "lambdatest", "platform": "ios", "app": "lt://APP_ID", "deviceName": "iPhone 15", "platformVersion": "17", "reporting": { "project": "MyProject", "build": "v1.0.0", "session": "Checkout flow" } }The MCP server would read credentials from environment variables internally:
And construct the full LambdaTest capability set internally, including:
appiumUrl:https://<LT_USERNAME>:<LT_ACCESS_KEY>@mobile-hub.lambdatest.com/wd/hubLT:optionswithusername,accessKey,project,build,name