@testingbot/mcp-server
TestingBot's official MCP Server for AI-powered testing automation
Versions
1.0.2latest1.0.11.0.0Tools 49
startLiveSession Start an interactive live testing session on TestingBot. Opens a real browser or mobile device for manual testing. Supports both desktop browsers (Chrome, Firefox, Safari, Edge, IE) and mobile devices (iOS, Android).
startDesktopLiveSession Convenience tool to start a desktop browser live testing session. Automatically sets platformType to
startMobileLiveSession Convenience tool to start a mobile device live testing session. Automatically sets platformType to
getTunnelList Get a list of all active TestingBot tunnels. Tunnels allow you to test websites behind firewalls or on your local machine.
deleteTunnel Delete an active TestingBot tunnel by its ID. This will terminate the tunnel connection.
getBrowsers Get list of available browsers and platforms for testing. Optionally filter by type (web or mobile).
getDevices Get list of available mobile devices for testing (real devices and simulators).
getFailureLogs Fetch and return session log file content (selenium, browser, chrome, vm, appium) for a test by session ID. Use this to debug failures — pass failuresOnly=true to extract only error/exception/stack-trace lines.
uploadAppAutomateApp Upload the app under test for an Espresso (.apk/.aab) or XCUITest (.ipa) run on TestingBot. Returns a projectId for uploadAppAutomateTests and runAppAutomateTest. For Maestro flows use uploadMaestroApp instead.
uploadAppAutomateTests Upload the test suite for an App Automate project: the instrumented test APK for Espresso, or the zipped XCUITest runner bundle for XCUITest.
runAppAutomateTest Start an Espresso or XCUITest run on a TestingBot device. Returns immediately with the run ID — it does NOT wait for completion. Poll with getAppAutomateRunStatus, then fetch getAppAutomateRunResults.
getAppAutomateRunStatus Get the status of Espresso/XCUITest run(s) for a project. Omit runId to list all runs. Statuses: WAITING, READY (running), DONE, FAILED.
getAppAutomateRunResults Get the results of a completed Espresso/XCUITest project: per-run outcomes plus the JUnit XML report. For XCUITest, pass runId for a single run
tb_login Authenticate with TestingBot — no API key or secret to copy or paste. By default it opens your browser, you
takeScreenshot Take screenshots of a URL across multiple browsers and platforms. Returns a screenshot ID to retrieve results.
retrieveScreenshots Retrieve screenshot results by screenshot ID. Returns URLs to the generated screenshots.
getScreenshotList Get a list of all screenshot jobs with pagination.
getBuilds Get a list of builds with optional pagination. Builds group related tests together.
getTestsForBuild Get all tests associated with a specific build ID.
deleteBuild Delete a build and all its associated tests by build ID.
getUserInfo Get current user account information including minutes used, plan details, and account status.
updateUserInfo Update user account information such as name, email, or other profile details.
uploadFile Upload a local file (APK, IPA, or ZIP) to TestingBot storage for mobile app testing. Returns an app_url for use in tests.
uploadRemoteFile Upload a file from a remote URL to TestingBot storage. The file will be downloaded from the URL and stored.
getStorageFiles List all files in TestingBot storage with pagination.
deleteStorageFile Delete a file from TestingBot storage using its app_url.
createCdpSession Create a remote browser session on TestingBot and get its CDP (Chrome DevTools Protocol) URL for direct browser control. Use this to automate browsers via CDP clients like Puppeteer or Playwright.
maestroCheatSheet Get a Maestro flow YAML syntax reference: file structure, commands, selectors, and the TestingBot run workflow. Call this before writing or fixing Maestro flows.
uploadMaestroApp Upload a mobile app (APK, AAB, IPA, or zipped .app) for Maestro testing on TestingBot. Skips the upload if the same binary was uploaded before. Returns a projectId used by uploadMaestroFlows and runMaestroTest.
uploadMaestroFlows Upload Maestro flow YAML files for a project. Accepts a local directory (all .yaml/.yml files, preserving structure), a pre-built .zip, or inline flow content. Replaces any previously uploaded flows for the project.
runMaestroTest Start a Maestro test run on a TestingBot device. Returns immediately with the run ID — it does NOT wait for completion. Poll with getMaestroRunStatus, then fetch getMaestroRunResults once completed.
getMaestroRunStatus Get the status of Maestro run(s) for a project. Omit runId to list all runs of the latest execution. Statuses: WAITING, READY (running), DONE, FAILED, CANCELLED.
getMaestroRunResults Get the final results of a completed Maestro run: per-flow outcomes (failures first, with error messages and video links) plus the JUnit XML report.
uploadMaestroCompanionApp Upload a companion app (.apk/.aab/.ipa) that should be installed alongside the app under test in a Maestro run. Returns a tb:// app URL to pass in runMaestroTest
listMaestroProjects List Maestro projects on the account (newest first): app details, flow names, and run IDs. Use this to find an existing projectId instead of re-uploading an app.
listMaestroRuns List Maestro runs across all projects (newest first), or look up runs by their build/run name. Returns projectId + runId pairs for use with getMaestroRunStatus and getMaestroRunResults.
getMaestroFlowDetails Get the detailed result of a single Maestro flow: error messages, step-level JUnit report, and links to the video, screenshots, and device logs. Use this to diagnose why a flow failed before fixing it and calling retryMaestroRun.
cancelMaestroRun Cancel a running Maestro run.
retryMaestroRun Retry a Maestro run, or a single failed flow within it when flowId is given.
getTests Retrieve a list of recent tests with optional pagination. Returns test details including status, browser, platform, video and duration.
getTestDetails Get detailed information about a specific test by session ID. Includes logs, screenshots, video URLs, and execution metadata.
updateTest Update test metadata such as name, status (passed/failed), and other attributes. Useful for marking tests after execution.
deleteTest Delete a test by session ID. This permanently removes the test and its associated data.
stopTest Stop a running test by session ID. This terminates the test execution immediately.
listTestFiles Scan a project directory and return test files for the detected framework. Read-only — never modifies files.
setupTestingBot Detect the testing framework in a project and return the ready-to-paste TestingBot configuration snippet, install command, and env-var requirements. Read-only — never modifies files; the agent or user applies the snippet.
getTeam Retrieve team settings and information including plan details, team size, and configuration.
getUsersInTeam Get a list of all users in your team with their roles and permissions.
getUserFromTeam Retrieve detailed information about a specific user in your team by their user ID.
Permissions 4
network medium filesystem low shell high env_vars low Scan Findings 0
No scan findings.