← Back to search

@testingbot/mcp-server

GitHub Actions Scanned 22d ago

TestingBot's official MCP Server for AI-powered testing automation

npm
D
47.2 / 100

Versions

1.0.2latest
Jun 18, 2026
1.0.1
Dec 17, 2025
1.0.0
Oct 24, 2025
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 49

startLiveSession
annotations: none low

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).

desiredURL string
startDesktopLiveSession
annotations: none low

Convenience tool to start a desktop browser live testing session. Automatically sets platformType to

desiredURL string desiredOSVersion string
startMobileLiveSession
annotations: none low

Convenience tool to start a mobile device live testing session. Automatically sets platformType to

desiredURL string desiredDevice string desiredOSVersion string
getTunnelList
annotations: none low

Get a list of all active TestingBot tunnels. Tunnels allow you to test websites behind firewalls or on your local machine.

deleteTunnel
annotations: none low

Delete an active TestingBot tunnel by its ID. This will terminate the tunnel connection.

getBrowsers
annotations: none low

Get list of available browsers and platforms for testing. Optionally filter by type (web or mobile).

getDevices
annotations: none low

Get list of available mobile devices for testing (real devices and simulators).

getFailureLogs
annotations: none low

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.

sessionId string
uploadAppAutomateApp
annotations: none low

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.

localFilePath string
uploadAppAutomateTests
annotations: none low

Upload the test suite for an App Automate project: the instrumented test APK for Espresso, or the zipped XCUITest runner bundle for XCUITest.

runAppAutomateTest
annotations: none low

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.

name string build string locale string version string timeZone string testRunner string
getAppAutomateRunStatus
annotations: none low

Get the status of Espresso/XCUITest run(s) for a project. Omit runId to list all runs. Statuses: WAITING, READY (running), DONE, FAILED.

getAppAutomateRunResults
annotations: none low

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
annotations: none low

Authenticate with TestingBot — no API key or secret to copy or paste. By default it opens your browser, you

takeScreenshot
annotations: none low

Take screenshots of a URL across multiple browsers and platforms. Returns a screenshot ID to retrieve results.

os string url string version string browserName string
retrieveScreenshots
annotations: none low

Retrieve screenshot results by screenshot ID. Returns URLs to the generated screenshots.

screenshotId string
getScreenshotList
annotations: none low

Get a list of all screenshot jobs with pagination.

getBuilds
annotations: none low

Get a list of builds with optional pagination. Builds group related tests together.

getTestsForBuild
annotations: none low

Get all tests associated with a specific build ID.

deleteBuild
annotations: none low

Delete a build and all its associated tests by build ID.

getUserInfo
annotations: none low

Get current user account information including minutes used, plan details, and account status.

updateUserInfo
annotations: none low

Update user account information such as name, email, or other profile details.

email string lastName string firstName string
uploadFile
annotations: none low

Upload a local file (APK, IPA, or ZIP) to TestingBot storage for mobile app testing. Returns an app_url for use in tests.

localFilePath string
uploadRemoteFile
annotations: none low

Upload a file from a remote URL to TestingBot storage. The file will be downloaded from the URL and stored.

remoteUrl string
getStorageFiles
annotations: none low

List all files in TestingBot storage with pagination.

deleteStorageFile
annotations: none low

Delete a file from TestingBot storage using its app_url.

appUrl string
createCdpSession
annotations: none low

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.

name string build string platform string timeZone string browserName string screenResolution string
maestroCheatSheet
annotations: none low

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
annotations: none low

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.

localFilePath string
uploadMaestroFlows
annotations: none low

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.

content string
runMaestroTest
annotations: none low

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.

version string
getMaestroRunStatus
annotations: none low

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
annotations: none low

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
annotations: none low

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

localFilePath string
listMaestroProjects
annotations: none low

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
annotations: none low

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
annotations: none low

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
annotations: none low

Cancel a running Maestro run.

retryMaestroRun
annotations: none low

Retry a Maestro run, or a single failed flow within it when flowId is given.

getTests
annotations: none low

Retrieve a list of recent tests with optional pagination. Returns test details including status, browser, platform, video and duration.

getTestDetails
annotations: none low

Get detailed information about a specific test by session ID. Includes logs, screenshots, video URLs, and execution metadata.

sessionId string
updateTest
annotations: none low

Update test metadata such as name, status (passed/failed), and other attributes. Useful for marking tests after execution.

name string build string extra string sessionId string
deleteTest
annotations: none low

Delete a test by session ID. This permanently removes the test and its associated data.

sessionId string
stopTest
annotations: none low

Stop a running test by session ID. This terminates the test execution immediately.

sessionId string
listTestFiles
annotations: none low

Scan a project directory and return test files for the detected framework. Read-only — never modifies files.

projectRoot string
setupTestingBot
annotations: none low

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.

projectRoot string
getTeam
annotations: none low

Retrieve team settings and information including plan details, team size, and configuration.

getUsersInTeam
annotations: none low

Get a list of all users in your team with their roles and permissions.

getUserFromTeam
annotations: none low

Retrieve detailed information about a specific user in your team by their user ID.

Permissions 4

network medium
Server uses network capabilities via: fetch(), http
filesystem low
Server uses filesystem capabilities via: fs sync ops, fs.promises
shell high
Server uses shell capabilities via: child_process, spawn()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 0

No scan findings.