TestingBot MCP server
2026년 11월 12일 커밋TestingBot 인프라를 사용하여 실제 브라우저, 모바일 기기 및 에뮬레이터에서 자동화 테스트를 관리하고 실행할 수 있도록 AI 어시스턴트 기능을 지원합니다.
다른 이름 testingbot/mcp-server
- 스타
- 2
- Tools
- 49
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 12일
- 라이선스
- MIT
TestingBot MCP란?
TestingBot은(는) MCP server입니다. TestingBot 인프라를 사용하여 실제 브라우저, 모바일 기기 및 에뮬레이터에서 자동화 테스트를 관리하고 실행할 수 있도록 AI 어시스턴트 기능을 지원합니다. 49개 도구를 제공합니다. 예: platformType, desiredURL, desiredOS.
프로젝트 README에서 생성된 요약
TestingBot MCP server 정보
개발자는 대화형 인터페이스를 통해 실제 브라우저, 모바일 기기 및 에뮬레이터에서 자동화 테스트를 관리하고 실행할 수 있습니다. AI 어시스턴트를 TestingBot 인프라에 연결하면 Maestro, Espresso, XCUITest 스위트를 실행하거나 대화형 수동 테스트 세션을 시작할 수 있습니다. 이 서버는 데스크톱 브라우저와 실제 기기 및 에뮬레이터를 포함한 모바일 플랫폼을 지원하며, 스크린샷 테스트, 빌드 구성, APK 또는 IPA 형식의 모바일 앱 파일 저장 관리를 위한 도구를 제공합니다.
설정을 위해서는 TestingBot 계정과 Claude Desktop, Cursor 또는 Continue 확장이 설치된 VS Code와 같은 MCP 호환 클라이언트가 필요합니다. 인증은 API 자격 증명 또는 OAuth 방식의 브라우저 권한 부여를 사용하는 간소화된 tb_login 도구를 통해 처리됩니다. 로컬 개발 환경이나 프라이빗 사이트를 테스트하려면 서버에서 TestingBot 터널을 관리할 수 있으며, 이를 위해 로컬 머신에 Java 17 이상 버전이 설치되어 있어야 합니다. 이를 통해 원격 클라우드 인프라가 localhost 또는 인트라넷 호스트에 안전하게 접근할 수 있습니다.
활용 사례
- 1모바일 자동화 스위트 실행AI 에이전트를 통해 Maestro 또는 Espresso와 같은 자동화된 모바일 테스트 스위트를 직접 실행합니다.
- 2대화형 수동 테스트 수행실제 기기나 브라우저에서 특정 URL을 수동으로 테스트하기 위한 라이브 세션을 시작합니다.
- 3로컬 개발 서버 테스트터널을 구축하여 원격 클라우드 브라우저가 로컬 머신의 localhost에 접근할 수 있도록 합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
TestingBot MCP 도구 49
README에서 감지됨platformTypedesiredURLdesiredOSdesiredOSVersiondesiredBrowserdesiredBrowserVersiondesiredDevicetunnelIdtypeoffsetlimitsessionId
| platformType | — | |
| desiredURL | — | |
| desiredOS | — | |
| desiredOSVersion | — | |
| desiredBrowser | — | |
| desiredBrowserVersion | — | |
| desiredDevice | — | |
| tunnelId | — | |
| type | — | |
| offset | — | |
| limit | — | |
| sessionId | — |
도구 49개 모두 보기도구 수 줄이기
namestatusbuildextrabuildIdlocalFilePathremoteUrlappUrlprojectIdflowsPathflowsplatformNamedeviceNameversionrealDeviceenvshardSplitotherAppstunnelIdentifierurlbrowsersresolutionwaitTimefullPagescreenshotIdfirstNamelastNameemailuserIdbrowserNamebrowserVersionplatformscreenResolutionsharednoBumpnoCacheall
| name | — | |
| status | — | |
| build | — | |
| extra | — | |
| buildId | — | |
| localFilePath | — | |
| remoteUrl | — | |
| appUrl | — | |
| projectId | — | |
| flowsPath | — | |
| flows | — | |
| platformName | — | |
| deviceName | — | |
| version | — | |
| realDevice | — | |
| env | — | |
| shardSplit | — | |
| otherApps | — | |
| tunnelIdentifier | — | |
| url | — | |
| browsers | — | |
| resolution | — | |
| waitTime | — | |
| fullPage | — | |
| screenshotId | — | |
| firstName | — | |
| lastName | — | |
| — | ||
| userId | — | |
| browserName | — | |
| browserVersion | — | |
| platform | — | |
| screenResolution | — | |
| shared | — | |
| noBump | — | |
| noCache | — | |
| all | — |
구성
LOG_LEVELTESTINGBOT_KEYTESTINGBOT_SECRET
| 이름 | 설명 | 유형 |
|---|---|---|
| LOG_LEVEL | — | |
| TESTINGBOT_KEY | — | |
| TESTINGBOT_SECRET | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식
- 소스 저장소 연결 및 접근 가능testingbot/mcp-server is public and reachablegithub.com/testingbot/mcp-server ↗통과
- 패키지가 이 저장소를 소스로 지정검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-12github.com/testingbot/mcp-server ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지와 의존성에 심각한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음49 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기TestingBot MCP Server
TestingBot's official Model Context Protocol (MCP) server implementation. This server enables AI assistants to interact with TestingBot's testing infrastructure, allowing you to manage tests, browsers, devices, and more through conversational interfaces.
⚡ One-Click Install
Claude Desktop: download mcp-server.mcpb from the releases page and double-click it. Claude will set up the TestingBot MCP server automatically.
After install, set your credentials from TestingBot account settings.
Features
- 📱 App Automate - Run Maestro, Espresso, and XCUITest suites on real devices and emulators, straight from the agent
- 🖥️ Live Testing - Start interactive manual testing sessions on real browsers and devices
- 🌐 Browser & Device Management - Query available browsers and real devices
- 🧪 Test Management - Create, retrieve, update, and delete tests with comprehensive details
- 📦 Storage Management - Upload and manage mobile app files (APK, IPA, ZIP)
- 📸 Screenshot Testing - Take cross-browser screenshots
- 🏗️ Build Management - Organize tests into builds
- 👤 User Account - View and update account information
- 👥 Team Management - Manage team settings and team members
- 🔌 Chrome DevTools Protocol - Create CDP sessions for advanced browser automation
- 🚇 Tunnel Management - Start, stop and manage TestingBot tunnels to test localhost and private sites
Prerequisites
- Node.js >= 20 (recommended: 22.15.0 or later)
- TestingBot Account with API credentials
- An MCP-compatible client (Claude Desktop, VS Code with Continue, Cursor, etc.)
Installation
Quick Setup
Install the MCP server globally:
npm install -g @testingbot/mcp-server
Or add to your project:
npm install @testingbot/mcp-server
Configuration
Recommended: log in with tb_login (no key/secret to copy)
You don't have to find and paste API credentials. Install the server, leave the credentials blank, and just ask the agent:
Log me in to TestingBot.
The agent calls the tb_login tool. It uses OAuth-style browser
authentication — no secret ever leaves the browser — and picks the right
mechanism for your environment automatically:
-
Browser (loopback, the default on a desktop): your browser opens to a TestingBot authorization page. Sign in if needed and click Authorize; the credentials are captured on a local callback and the agent finishes the sign-in. Nothing to type. (RFC 8252.)
-
Device code (automatic fallback on SSH / remote / dev containers / web): the tool prints a short URL and code instead:
- Open the URL in your browser (e.g.
https://testingbot.com/device). - Enter the code, sign in if needed, and click Authorize.
- Tell the agent you've authorized — it calls
tb_loginagain to finish.
(RFC 8628.)
- Open the URL in your browser (e.g.
You can force a mechanism by passing mode: "loopback" or mode: "device" to
tb_login (the default is "auto").
Your credentials are written to ~/.testingbot/credentials (mode 0600) and
used by every subsequent tool call — no restart and no JSON editing. This works
in any MCP client (VS Code, Cursor, Cline, Claude Desktop, …). To use a different
account, set TESTINGBOT_PROFILE; to relocate the file, set
TESTINGBOT_CONFIG_DIR.
Environment Variables
Alternatively (or for CI, where env vars take precedence over the file), set your TestingBot credentials as environment variables:
export TESTINGBOT_KEY="your-api-key"
export TESTINGBOT_SECRET="your-api-secret"
Or create a .env file in your project:
TESTINGBOT_KEY=your-api-key
TESTINGBOT_SECRET=your-api-secret
The key also accepts the aliases TB_KEY / TESTINGBOT_USERNAME, and the secret
accepts TB_SECRET / TESTINGBOT_ACCESS_KEY.
How credentials are resolved
Credentials are resolved in this order, highest priority first:
- Environment variables (above) — both a key and a secret must be set. This lets CI and per-client config override everything else.
- The
~/.testingbot/credentialsfile written bytb_login, for the active profile (default, orTESTINGBOT_PROFILE). - Neither set: the server starts in a degraded mode where every tool except
tb_loginreports "Run tb_login to authenticate" — so first run is self-healing rather than a hard error.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"testingbot": {
"command": "npx",
"args": ["-y", "@testingbot/mcp-server"],
"env": {
"TESTINGBOT_KEY": "your-api-key",
"TESTINGBOT_SECRET": "your-api-secret"
}
}
}
}
VS Code (with Continue extension)
Add to .continue/config.json:
{
"mcpServers": [
{
"name": "testingbot",
"command": "npx",
"args": ["-y", "@testingbot/mcp-server"],
"env": {
"TESTINGBOT_KEY": "your-api-key",
"TESTINGBOT_SECRET": "your-api-secret"
}
}
]
}
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"testingbot": {
"command": "npx",
"args": ["-y", "@testingbot/mcp-server"],
"env": {
"TESTINGBOT_KEY": "your-api-key",
"TESTINGBOT_SECRET": "your-api-secret"
}
}
}
}
🤖 Let an AI Agent Drive a Remote Browser or Device
This server already includes the automation tools from @testingbot/automation-mcp — installing this package gives the agent the ability to actually drive a remote browser or real mobile device on TestingBot's grid, not just manage resources.
Just ask:
Open Safari 17 on macOS on TestingBot. Navigate to example.com and click the "More information" link.
The agent will call tb_openBrowser, tb_navigate, tb_snapshot, tb_click — and surface a live-view URL so you can watch it in real time. For real iOS / Android devices, the bundled appium-mcp child gives the agent the full appium_* toolbelt (appium_session_management, appium_gesture, appium_set_value, appium_screenshot, ~30 more) — no separate install or config required. Just ask: "Open an iPhone 15 Pro on iOS 17 on TestingBot, tap the login button, take a screenshot." See the @testingbot/automation-mcp README for the full tool list, caveats (sessions are metered), and configuration options.
🚇 Testing localhost and private sites
TestingBot's browsers and devices run in the cloud, so they can't open localhost, private IPs (10.x, 192.168.x, …) or intranet hosts directly. To reach them, they need a TestingBot Tunnel running on your machine. Just ask:
Start a tunnel and open http://localhost:3000 in Chrome on Windows 11.
The agent calls startTunnel, which needs Java 17+. The tool returns the tunnel's identifier and ID, and the agent passes them on:
| Run | How it uses the tunnel |
|---|---|
tb_openBrowser (agent-driven browser) |
tunnelIdentifier (required: sessions without it go direct). Or set TESTINGBOT_TUNNEL_IDENTIFIER |
appium_session_management (native apps) |
"tb:options": {"tunnel-identifier": "…"} in the capabilities |
startLiveSession / startDesktopLiveSession / startMobileLiveSession |
tunnelId (the numeric ID) |
runMaestroTest |
tunnelIdentifier. Without it, the account's newest running tunnel is used |
takeScreenshot, runAppAutomateTest (Espresso / XCUITest) |
The account's newest running tunnel is used automatically |
Android apps and flows: Android never sends localhost / 127.0.0.1 through a proxy, so on an Android device or emulator those URLs reach the device itself, not your machine. Use a hostname that resolves to 127.0.0.1 on your side instead, such as http://myapp.localtest.me:3000. The tunnel resolves it on your machine.
stopTunnel stops the tunnel. Tunnels started by the server are also stopped when the server exits. If you'd rather run the tunnel yourself, start it with --tunnel-identifier <name> and give the agent that name.
Available Tools
Live Testing
startLiveSession
Start an interactive live testing session on TestingBot. Returns a link that opens the session in your TestingBot dashboard, where you confirm it with Start. Mobile sessions run on emulators/simulators; real-device live sessions are started from the dashboard.
Parameters:
platformType: "desktop" or "mobile"desiredURL: The URL to opendesiredOS: Operating system (Windows, Mac, Linux for desktop; android, ios for mobile)desiredOSVersion: OS version: Windows11/10/8.1/8; macOS by name (Sonoma) or number (14); or a platform code likeWIN11desiredBrowser(desktop only): Browser name (chrome, firefox, safari, edge, ie)desiredBrowserVersion(desktop only): Browser version or "latest"desiredDevice(mobile only): Device name (e.g., "iPhone 14", "Galaxy S23")tunnelId(optional): Numeric ID of a running tunnel, needed for localhost / private URLs (see Testing localhost and private sites)
Example prompts:
"Start a live testing session on Chrome latest with Windows 11 for https://example.com" "Open https://myapp.com on iPhone 14 with iOS 16 for manual testing"
startDesktopLiveSession
Convenience tool to start a desktop browser live testing session.
Parameters:
desiredURL: The URL to opendesiredOS: Windows, Mac, or LinuxdesiredOSVersion: OS versiondesiredBrowser: chrome, firefox, safari, edge, or iedesiredBrowserVersion(optional): Browser version or "latest" (default: latest)tunnelId(optional): Numeric ID of a running tunnel, for localhost / private URLs
Example prompt:
"Start desktop live session on Firefox 120 with Mac Monterey for https://example.com"
startMobileLiveSession
Convenience tool to start a mobile device live testing session.
Parameters:
desiredURL: The URL to opendesiredOS: android or iosdesiredOSVersion: OS versiondesiredDevice: Device nametunnelId(optional): Numeric ID of a running tunnel, for localhost / private URLs
Example prompt:
"Start mobile live session on Galaxy S23 with Android 13 for https://example.com"
Browser & Device Management
getBrowsers
Get list of available browsers and platforms for testing.
Parameters:
type(optional): Filter by "web" or "mobile"
Example prompt:
"Show me all available browsers for testing" "What mobile browsers are available?"
getDevices
Get list of available mobile devices (real devices and simulators).
Example prompt:
"List all available iOS devices" "Show me Android devices for testing"
Test Management
getTests
Retrieve a list of recent tests with pagination.
Parameters:
offset(optional): Pagination offset (default: 0)limit(optional): Number of tests to retrieve (default: 10, max: 100)
Example prompt:
"Show me my last 20 tests" "Get recent test results"
getTestDetails
Get comprehensive details about a specific test including:
- Test status, browser, platform, and timing information
- Video recording URL and screenshot URLs
- Selenium, browser, and Appium logs
- Test execution steps with commands and timestamps
- Network logs, exception logs, and JS errors
Parameters:
sessionId: The session ID of the test
Example prompt:
"Get details for test session abc123" "Show me the video and logs for test xyz789" "Show execution steps for test abc123"
updateTest
Update test metadata such as name, status, or build.
Parameters:
sessionId: The session ID of the testname(optional): New name for the teststatus(optional): "passed" or "failed"build(optional): Build identifierextra(optional): Additional metadata (JSON string)
Example prompt:
"Mark test abc123 as passed" "Update test xyz789 with name 'Login Flow Test'"
deleteTest
Delete a test by session ID.
Parameters:
sessionId: The session ID of the test to delete
Example prompt:
"Delete test abc123"
stopTest
Stop a running test by session ID.
Parameters:
sessionId: The session ID of the test to stop
Example prompt:
"Stop test abc123"
Build Management
getBuilds
Get a list of builds with pagination.
Parameters:
offset(optional): Pagination offset (default: 0)limit(optional): Number of builds to retrieve (default: 10, max: 100)
Example prompt:
"Show me my recent builds"
getTestsForBuild
Get all tests associated with a specific build ID.
Parameters:
buildId: The build ID
Example prompt:
"Show all tests for build 12345"
deleteBuild
Delete a build and all its associated tests.
Parameters:
buildId: The build ID to delete
Example prompt:
"Delete build 12345"
Storage Management
uploadFile
Upload a local file (APK, IPA, or ZIP) to TestingBot storage.
Parameters:
localFilePath: Path to the file to upload
Example prompt:
"Upload /path/to/app.apk to TestingBot"
uploadRemoteFile
Upload a file from a remote URL to TestingBot storage.
Parameters:
remoteUrl: URL of the file to upload
Example prompt:
"Upload https://example.com/app.ipa to TestingBot"
getStorageFiles
List all files in TestingBot storage.
Parameters:
offset(optional): Pagination offset (default: 0)limit(optional): Number of files to retrieve (default: 10, max: 100)
Example prompt:
"Show me all uploaded apps"
deleteStorageFile
Delete a file from TestingBot storage.
Parameters:
appUrl: The app_url of the file to delete
Example prompt:
"Delete app tb://app123 from storage"
App Automate — Maestro
Run Maestro flows on TestingBot real devices, emulators, and simulators. Runs are asynchronous: start one, poll its status, then fetch results — the agent is never blocked while devices execute.
uploadMaestroApp
Upload the app under test (.apk, .aab, .ipa, or zipped .app). Uploads are deduplicated by checksum — re-running with the same binary is instant.
Parameters:
localFilePath: Local path to the app file
Returns a Project ID used by the other Maestro tools.
Example prompt:
"Upload ./build/app.apk for Maestro testing"
uploadMaestroFlows
Upload the Maestro flow YAML files for a project. Accepts a directory (structure preserved, so runFlow subflows keep working), a pre-built .zip, or inline YAML written by the agent. Replaces previously uploaded flows.
Parameters:
projectId: Project ID fromuploadMaestroAppflowsPath(optional): Directory or.zipof flow YAML filesflows(optional): Inline flows as[{ fileName, content }]
runMaestroTest
Start a Maestro run. Returns immediately with the run ID — poll with getMaestroRunStatus.
Parameters:
projectId: Project IDplatformName: "Android" or "iOS"deviceName(optional): Device name, wildcards/regex supported (e.g."Pixel 8","iPhone 1[4-6]","*")version(optional): OS versionrealDevice(optional): Run on a physical device (required for.ipa)name(optional): Run name shown in the dashboardenv(optional): Environment variables passed to the flowsincludeTags/excludeTags(optional): Filter flows by Maestro tagsshardSplit(optional): Split flows across parallel devicesotherApps(optional): Up to 4 companion app URLs to install alongside the apptunnelIdentifier(optional): Run through this tunnel, so the app can reach localhost / private backends
Example prompt:
"Run my Maestro flows on a real Pixel 8 with Android 14"
getMaestroRunStatus
Poll run progress. Lists per-flow statuses (WAITING, READY, DONE, FAILED, CANCELLED), failures first.
getMaestroRunResults
Final results of a completed run: per-flow outcomes plus the JUnit XML report.
getMaestroFlowDetails
Deep-dive into one flow: error messages, step-level JUnit report, and links to the video, screenshots, and device logs. This is the debugging tool — fetch it for a failed flow, fix the YAML, then retry.
Parameters: projectId, runId, flowId
cancelMaestroRun / retryMaestroRun
Cancel a running run, or retry a run — pass flowId to retry only a single failed flow.
uploadMaestroCompanionApp
Upload a supplementary app installed alongside the app under test. Returns a tb:// URL for runMaestroTest's otherApps.
listMaestroProjects / listMaestroRuns
Discover existing projects (app, flows, run IDs) and runs across the account. listMaestroRuns accepts a buildName to look up runs by name — e.g. "rerun whatever failed in last night's nightly build".
maestroCheatSheet
Returns a Maestro YAML syntax reference (commands, selectors, flow structure, and the TestingBot workflow). Agents call this before writing or fixing flows.
Example workflow:
User: "Run the Maestro flows in ./flows against ./app.apk on a real Pixel 8. Fix any failures."
Assistant: [uploadMaestroApp → uploadMaestroFlows → runMaestroTest]
Assistant: [polls getMaestroRunStatus until complete]
Assistant: [getMaestroFlowDetails for the failed flow, reads the error + screenshots]
Assistant: [fixes the flow YAML, uploadMaestroFlows, retryMaestroRun]
App Automate — Espresso & XCUITest
Run pre-built Espresso (Android) and XCUITest (iOS) suites on TestingBot devices. Same async pattern: start, poll, fetch results.
uploadAppAutomateApp
Upload the app under test: .apk/.aab for Espresso, .ipa for XCUITest.
Parameters: framework ("espresso" or "xcuitest"), localFilePath
uploadAppAutomateTests
Upload the test suite: the instrumented test .apk for Espresso, or the zipped XCUITest runner bundle.
Parameters: framework, projectId, localFilePath
runAppAutomateTest
Start a run. Returns immediately with the run ID.
Parameters:
framework,projectIddeviceName,version,realDevice,name,build(optional): device selection and metadatatestClasses,skipTestClasses,packages,annotations,testRunner(optional, Espresso only): test filteringlocale,timeZone(optional)
Example prompt:
"Run the Espresso suite on a real Galaxy S23, only the com.example.LoginTest class"
getAppAutomateRunStatus / getAppAutomateRunResults
Poll run progress, then fetch per-run outcomes and the JUnit XML report. Each run's Appium session ID is surfaced, so getTestDetails / getFailureLogs work for logs and video.
Screenshot Testing
takeScreenshot
Take screenshots of a URL across multiple browsers and platforms.
Parameters:
url: The URL to screenshotbrowsers: Array of browser configurationsbrowserName: Browser name (chrome, firefox, safari, etc.)version(optional): Browser version or "latest"os: Operating system (WIN11, MAC, etc.)
resolution(optional): Screen resolution (default: "1920x1080")waitTime(optional): Seconds to wait before screenshot (default: 5, max: 60)fullPage(optional): Capture full page or viewport (default: false)
For a localhost / private URL, the screenshots go through the account's newest running tunnel. If no tunnel is running, the tool says so instead of taking the screenshots.
Example prompt:
"Take a screenshot of https://example.com on Chrome and Firefox" "Screenshot my homepage on mobile devices"
retrieveScreenshots
Retrieve screenshot results by screenshot ID.
Parameters:
screenshotId: The screenshot ID from takeScreenshot
Example prompt:
"Get screenshots for job abc123"
getScreenshotList
Get a list of all screenshot jobs.
Parameters:
offset(optional): Pagination offset (default: 0)limit(optional): Number of jobs to retrieve (default: 10, max: 100)
Example prompt:
"Show me my recent screenshot jobs"
User Management
getUserInfo
Get current user account information including minutes used, plan details, and limits.
Example prompt:
"Show my account information" "How many minutes have I used?"
updateUserInfo
Update user account information.
Parameters:
firstName(optional): First namelastName(optional): Last nameemail(optional): Email address
Example prompt:
"Update my email to newemail@example.com"
Team Management
getTeam
Get team information including concurrency limits, allowed parallel VMs, and mobile concurrency.
Example prompt:
"Show my team information" "What are my team's concurrency limits?"
getUsersInTeam
List all users in your team with their roles and access levels.
Parameters:
offset(optional): Pagination offset (default: 0)limit(optional): Number of users to retrieve (default: 10, max: 100)
Example prompt:
"Show me all team members" "List users in my team"
getUserFromTeam
Get detailed information about a specific team member by user ID.
Parameters:
userId: The user ID to retrieve
Example prompt:
"Show details for user 12345"
Chrome DevTools Protocol (CDP)
createCdpSession
Create a Chrome DevTools Protocol session for advanced browser automation. Returns a WebSocket URL to connect to the browser.
Parameters:
browserName: Browser name (chrome, firefox, safari, edge, etc.)browserVersion(optional): Browser version or "latest" (default: latest)platform: Operating system platformscreenResolution(optional): Screen resolution (e.g., "1920x1080")name(optional): Session namebuild(optional): Build identifier
Example prompt:
"Create a CDP session on Chrome latest with Windows 11" "Start a CDP session on Firefox 120 for automation"
Tunnel Management
TestingBot's browsers and devices run in the cloud. To test localhost, private IPs or intranet sites, they need a TestingBot Tunnel running on your machine. These tools can start one for you.
TestingBot MCP 질문
TestingBot MCP는 어떤 도구를 제공하나요?
49개 도구를 제공합니다. 예: platformType, desiredURL, desiredOS, desiredOSVersion, desiredBrowser.
TestingBot 인증은 어떻게 하나요?
tb_login 도구를 사용하여 OAuth 방식의 브라우저 인증을 수행하거나, TESTINGBOT_KEY 및 TESTINGBOT_SECRET 환경 변수를 설정할 수 있습니다.
어떤 모바일 테스트 프레임워크를 지원하나요?
이 MCP server는 실제 기기 및 에뮬레이터에서 Maestro, Espresso, XCUITest 스위트를 실행하는 것을 지원합니다.