Skip to main content
Glama
saucelabs

Sauce Labs MCP Server

Official
by saucelabs

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAUCE_REGIONNoSauce Labs data center regionus-west-1
SAUCE_API_BASENoCustom API base URL (for enterprise accounts)
SAUCE_USERNAMEYesYour Sauce Labs username
SAUCE_ACCESS_KEYYesYour Sauce Labs access key (found in Account Settings)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_account_info

Provides the current user's Sauce Labs account information, including username, jobs run, minutes used, and overall account status. Useful for a quick overview of account activity.

lookup_teams
Queries the organization of the requesting account and returns the number of teams matching the query and a summary of each team, including the ID value, which may be a required parameter of other API calls related to a specific team.You can filter the results of your query using the name parameter below. :param id: Optional. Comma-separated team IDs. Allows to receive details of multiple teams at once. For example, id=3d60780314724ab8ac688b50aadd9ff9,f9acc7c5b1da4fd0902b184c4f0b6324 would return details of teams with IDs included in the provided list. :param name: Optional. Returns the set of teams that begin with the specified name value. For example, name=sauce would return all teams in the organization with names beginning with "sauce".
get_team
Returns the full profile of the specified team. The ID of the team is the only valid unique identifier. :param id: Required. The unique identifier of the team. You can look up the IDs of teams in your organization using the Lookup Teams endpoint.
list_team_members
Returns the number of members in the specified team and lists each member. :param id: Required. Identifies the team for which you are requesting the list of members.
lookup_users
Queries the organization of the requesting account and returns the number of users matching the query and a basic profile of each user, including the ID value, which may be a required parameter of other API calls related to a specific user. You can narrow the results of your query using any of the following filtering parameters. :param id: Optional. Comma-separated user IDs. Allows to receive details of multiple user at once. For example, id=3d60780314724ab8ac688b50aadd9ff9,f9acc7c5b1da4fd0902b184c4f0b6324 would return details of users with IDs included in the provided list. :param username: Optional. Limits the results to usernames that begin with the specified value. For example, username=an would return all users in the organization with usernames beginning with "an". :param teams: Optional. Limit results to users who belong to the specified team_ids. Specify multiple teams as comma-separated values. :param roles: Optional. Limit results to users who are assigned certain roles. Valid values are: 1 - Organization Admin, 4 - Team Admin, 3 - Member. Specify multiple roles as comma-separated values. :param phrase: Optional. Limit results to users whose first name, last name, or email address begins with the specified value. :param status: Optional. Limit results to users of the specifid status. Valid values are: 'active', 'pending', 'inactive' :param limit: Optional. Limit results to a maximum number per page. Default value is 20. :param offset: Optional. The starting record number from which to return results.
get_user
Returns the full profile of the specified user. The ID of the user is the only valid unique identifier. :param id: Required. The user's unique identifier. Specific user IDs can be obtained through the lookup_users Tool
get_my_active_team

Retrieves the Sauce Labs active team for the currently authenticated user.

lookup_service_accounts
Lists existing service accounts in your organization. You can filter the results using the query parameters below. :param id: Optional. Comma-separated service account IDs. included in the provided list. :param username: Optional. Limits the results to usernames that begin with the specified value. For example, username=an would return all service accounts in the organization with usernames beginning with "an". :param teams: Optional. Limit results to service account who belong to the specified team_ids. Specify multiple teams as comma-separated values. :param limit: Optional. Limit results to a maximum number per page. Default value is 20. :param offset: Optional. The starting record number from which to return results.
get_service_account
Retrieves details of the specified service account. :param id: Required. The unique identifier of the service account. You can find the uuid in the URL of the service account details view in the Sauce Labs UI. You can also look up the uuid using the Lookup Service Accounts endpoint.
get_recent_jobs
Retrieves a list of the most recent jobs run on Sauce Labs for the current user. Allows specifying the number of jobs to retrieve, up to a maximum. Useful for quickly checking the status of recent test runs. :param limit: The upper limit (integer) of jobs to retrieve. Max is 100
get_job_details
Retrieves the execution details of a particular job, by ID. This method works for both Virtual Device Cloud (VDC) and Real Device Cloud (RDC) though the returned data structure may vary between platforms. Use this method first to understand what type of job you're working with: - If 'device_name' contains mobile devices → RDC job → use get_specific_real_device_job_asset for assets - If 'browser' field shows web browsers → VDC job → use get_test_assets for assets :param job_id: The Sauce Labs Job ID (works for both VDC and RDC jobs). :return: Detailed job information including status, timing, configuration, and platform-specific data.
get_test_assets
Returns the list of all assets for a test, based on the job ID. IMPORTANT: Only use this method with Virtual Device Cloud (VDC) jobs. This will fail with a 404 error for Real Device Cloud (RDC) jobs. If you get an error about "Real Device job", use get_specific_real_device_job_asset instead. To determine job type: RDC jobs typically have device names like "Samsung Galaxy" or "iPhone 14". VDC jobs typically have browser names like "chrome", "firefox", or platform names like "Windows 11". :param job_id: The Sauce Labs Job ID (VDC jobs only). :return: JSON containing a list of assets, from which the URL can be derived.
get_log_json_file
Shows the complete log of a Sauce Labs test, in structured json format. IMPORTANT: This method only works with Virtual Device Cloud (VDC) jobs. For Real Device Cloud (RDC) jobs, use get_specific_real_device_job_asset with asset_type='appiumLogs' or 'deviceLogs' instead. If this method fails with "asset not found", the job is likely an RDC job - try get_specific_real_device_job_asset instead. :param job_id: The Sauce Labs Job ID (VDC jobs only). :return: Structured JSON log data with test commands, timing, and screenshots.
get_network_har_file
Retrieves and filters HAR file data from a Sauce Labs test job. The tool can intelligently filter requests to reduce data size and focus analysis. Use filter categories for common patterns, or specify custom filters for detailed control. :param job_id: The Sauce Labs Job ID (works for VDC jobs with network capture enabled) :param filter_category: Predefined filter categories: - "analytics" - Google Analytics, Facebook Pixel, Adobe Analytics, Comscore, etc. - "api" - Internal API calls (same domain as main site, JSON responses) - "fonts" - Font loading requests (woff, woff2, ttf, etc.) - "images" - Image resources (jpg, png, webp, svg, etc.) - "scripts" - JavaScript files and external scripts - "errors" - Failed requests (4xx, 5xx status codes) - "slow" - Requests taking longer than 1 second - "third-party" - All external domain requests :param custom_domains: List of domain patterns to include (e.g., ["google", "facebook", "api.company.com"]) :param resource_types: List of resource types to include (e.g., ["Script", "XHR", "Image"]) :param status_codes: List of HTTP status codes to include (e.g., [200, 404, 500]) :return: Filtered HAR data structure with only matching requests Examples: - get_network_har_file(job_id, filter_category="analytics") - get_network_har_file(job_id, filter_category="api") - get_network_har_file(job_id, custom_domains=["retailmenot.com"], resource_types=["XHR"])
filter_har_data
Filters HAR data with in-memory caching for efficient multiple queries. **Key difference from get_network_har_file**: This method caches the full HAR data in memory after the first call, making subsequent filtering operations instant without re-downloading from Sauce Labs. First call for a job_id downloads and caches the full HAR data. Subsequent calls filter the cached data instantly. :param job_id: The Sauce Labs Job ID :param filter_category: Predefined categories ("analytics", "social", "api", etc.) :param custom_domains: Domain patterns to include :param resource_types: Resource types to include (Script, XHR, Image, etc.) :param status_codes: HTTP status codes to include :return: Filtered HAR data with cache metadata Examples: - filter_har_data(job_id, filter_category="analytics") # First call: downloads + caches - filter_har_data(job_id, filter_category="social") # Subsequent: instant filtering - filter_har_data(job_id, custom_domains=["facebook"]) # Also instant
get_build_for_job
Retrieve the details related to a specific build by passing its unique ID in the request. :param build_source: Required. The type of device for which you are getting builds. Valid values are: 'rdc' (Real Device Builds), 'vdc' (Emulator or Simulator Builds) :param job_id: Required. The unique identifier of the job whose build you are looking up. You can look up job IDs in your organization using the Get Jobs endpoint.
get_build
Retrieve the details related to a specific build by passing its unique ID in the request. :param build_source: Required. The type of device for which you are getting builds. Valid values are: 'rdc' - Real Device Builds, 'vdc' - Emulator or Simulator Builds :param build_id: Required. The unique identifier of the build to retrieve. You can look up build IDs in your organization using the Lookup Builds endpoint.
lookup_builds
Queries the requesting account and returns a summary of each build matching the query, including the ID value, which may be a required parameter of other API calls related to a specific build. You can narrow the results of your query using any of the optional filtering parameters. :param build_source: The type of device for which you are getting builds. Valid values are: 'rdc' - Real Device Builds, 'vdc' - Emulator or Simulator Builds :param user_id: Optional. Returns any builds owned by the specified user that the authenticated user is authorized to view. You can look up the IDs of users in your organization using the Lookup Users endpoint. :param org_id: Optional. Returns all builds in the specified organization that the authenticated user is authorized to view. :param group_id: Optional. Returns all builds associated with the specified group that the authenticated user is authorized to view. :param team_id: Optional. Returns all builds for the specified team that the authenticated user is authorized to view. :param status: Optional. Returns only builds where the status matches the list of values specified. Valid values are: running - Any job in the build has a state of running, new, or queued. error - The build is not running and at least one job in the build has a state of errored. failed - The build is not running or error and at least one job in the build has a state of failed. complete - The build is not running, error, or failed, but the number of jobs with a state of finished does not equal the number of jobs marked passed, so at least one job has a state other than passed. success -- All jobs in the build have a state of passed. :param start: Optional. Returns only builds where the earliest job ran on or after this Unix timestamp. Note: If experiencing errors, try providing both start and end parameters together. :param end: Optional. Returns only builds where the latest job ran on or before this Unix timestamp. Note: If experiencing errors, try providing both start and end parameters together. :param limit: Optional. The maximum number of builds to return in the response. :param name: Optional. Returns builds with a matching build name. :param offset: Optional. Begins the set of results at this index number. :param sort: Optional. Sorts the results in alphabetically ascending or descending order. Valid values are: asc - Ascending desc - Descending
lookup_jobs_in_build
Returns information about all jobs associated with the specified build. You can limit which jobs are returned using any of the optional filtering parameters. :param build_source: Required. The type of test device associated with the build and its jobs. Valid values are: rdc - Real Device Builds, vdc - Emulator or Simulator Builds :param build_id: Required. The unique identifier of the build whose jobs you are looking up. You can look up build IDs in your organization using the Lookup Builds endpoint. :param modified_since: Optional. Returns only jobs that have been modified after this unicode timestamp. :param completed: Optional. Returns jobs based on whether they completed, meaning the tests ran uninterrupted to completion: true - Return jobs that have a completed state of true, false - Return jobs that have a completed state of false. :param errored: Optional. Returns jobs based on their errored state: true - Return jobs that have an errored state of true, false - Return jobs that have an errored state of false. :param failed: Optional. Returns jobs based on their failed state: true - Return jobs that have a failed state of true, false - Return jobs that have a failed state of false. :param finished: Optional. Returns jobs based on whether they have finished, meaning they are no longer running, but may not have run to completion: true - Return jobs that have a finished state of true, false - Return jobs that have a finished state of false. :param new: Optional. Returns jobs based on their new state: true - Return jobs that have a new state of true, false - Return jobs that have a new state of false. :param passed: Optional. Returns jobs based on their passed state: true - Return jobs that have a passed state of true, false - Return jobs that have a passed state of false. :param public: Optional. Returns jobs based on whether they were run on public devices: true - Return jobs that have a public state of true, false - Return jobs that have a public state of false. :param queued: Optional. Returns jobs based on whether their current state is queued: true - Return jobs that have a queued state of true, false - Return jobs that have a queued state of false. :param running: Optional. Returns jobs based on whether they are currently in a running state: true - Return jobs that are currently running, false - Return jobs that are not currently running. :param faulty: Optional. Returns jobs based on whether they are identified as faulty, meaning either errored or failed state is true. true - Return jobs that have a faulty state of true, false - Return jobs that have a faulty state of false.
get_tunnels_for_user
Returns Tunnel IDs or Tunnels Info for any currently running tunnels launched by or shared with the specified user. The word "tunnel" in this context refers to usage of the Sauce Connect tool. It also allows to filter tunnels using an optional "filter" parameter that may take the following values: :param username: Required. The authentication username of the user whose tunnels you are requesting.
get_tunnel_information
Returns information about the specified tunnel. The word "tunnel" in this context refers to usage of the Sauce Connect tool. :param username: Required. The authentication username of the owner of the requested tunnel. :param tunnel_id: Required. The unique identifier of the requested tunnel.
get_tunnel_version_downloads
Returns the specific paths (URLs) to download specific versions of the SauceConnect tunnel software. The word "tunnel" in this context refers to usage of the Sauce Connect tool. :param client_version: Optional. Returns download information for the specified Sauce Connect client version (For example, '5.2.3').
get_current_jobs_for_tunnel
Returns the number of currently running jobs for the specified tunnel. The word "tunnel" in this context refers to usage of the Sauce Connect tool. :param username: Required. The authentication username of the owner of the requested tunnel. :param tunnel_id: Required. The unique identifier of the requested tunnel.
get_storage_files

Returns the set of files that have been uploaded to Sauce Storage by the requestor.

get_storage_groups

Returns an array of groups (apps containing multiple files) currently in storage for the authenticated requestor.

get_storage_groups_settings
Returns the settings of an app group with the given ID. :param group_id: The unique identifier of the app group. You can look up group IDs using the Get App Storage Groups endpoint.
upload_file_to_storage
Uploads an app file to Sauce Storage for the purpose of mobile app testing or generic files to be used as Pre-Run Executables and returns a unique file ID assigned to the uploaded file.Sauce Storage supports mobile app packages in *.apk, *.aab, *.ipa, or *.zip format as well as any other file format.The maximum size of a single file is limited to 4GB. :param payload: The path to the file you want to upload. :param name: The portion of the payload value that is the actual file name (including the type extension). :param description: A description to distinguish your app. :param tags: An optional list of comma-separated tag names assigned to the uploaded file. Each tag name length must be between 1 and 16 characters. Tag names must only consist of uppercase (A-Z), lowercase (a-z), digits (0-9), underscore ("_"), hyphen ("-"), and dot (".") characters. Tag names are case-sensitive. It is allowed to assign up to 10 tags to a single file. :param project_name: An optional name for the project you want the file (group) to be assigned to. If the project doesn't exist, it will be created. Project names can only consist of alphanumeric (uppercase and lowercase) characters, along with underscores ("_"), hyphens ("-"), periods ("."), and spaces (" "). Project names are case-sensitive and can be max 64 characters long. :return: 201 Created. 400 Bad Request. 404 Not found.
update_storage_group_settings
Update app storage group settings for the specified group. :param group_id: Required. The unique identifier of the app group. :param proxy: Optional. Proxy configuration with 'host' and 'port' keys. :param audio_capture: Optional. Enable/disable audio capture during testing. :param proxy_enabled: Optional. Enable/disable proxy usage. :param lang: Optional. Language setting (e.g., 'en_GB', 'en_US'). :param orientation: Optional. Device orientation preference. :param resigning_enabled: Optional. Enable/disable app resigning (iOS only). :param resigning: Optional. iOS-specific resigning settings dict with keys: - image_injection: bool - group_directory: bool - biometrics: bool - sys_alerts_delay: bool - network_capture: bool - vitals: bool (seen in other examples) - backtrace: bool (seen in other examples) :param instrumentation: Optional. Android-specific instrumentation settings. :return: Updated settings response from API.
get_specific_device
Get information about the device specified in the request. :param device_id: Required. The unique identifier of a device in the Sauce Labs data center. Use the 'descriptor' value from get_devices_status results.
get_devices_status
Returns a list of devices in the data center along with their current states. Each device is represented by a descriptor, indicating its model, and includes information on availability, usage status, and whether it is designated as a private device. Note that the inUseBy field is exposed only for private devices isPrivateDevice: true. Users can view information about who is currently using the device only if they have the required permissions. Lack of permissions will result in the inUseBy field being omitted from the response for private devices. This tool provides a lightweight overview of all devices. For detailed device specifications, use the get_specific_device tool with the descriptor value as the device_id parameter. Available States: AVAILABLE Device is available and ready to be allocated IN_USE Device is currently in use CLEANING Device is being cleaned (only available for private devices) MAINTENANCE Device is in maintenance (only available for private devices) REBOOTING Device is rebooting (only available for private devices) OFFLINE Device is offline (only available for private devices) Note: The 'descriptor' field in each device object is the device identifier that should be used as the 'device_id' parameter in get_specific_device calls.
get_real_device_jobs
Get a list of jobs that are actively running on real devices in the data center. :param limit: The maximum number of jobs to return. :param offset: Limit results to those following this index number. Defaults to 1. :param type: Filter results to show manual tests only with LIVE.
get_specific_real_device_job
Get information about a specific job running on a real device at the data center. :param job_id: Required. The unique identifier of a job running on a real device in the data center. You can look up job IDs using the Get Real Device Jobs endpoint.
get_specific_real_device_job_asset
Download a specific asset for a Real Device Cloud (RDC) job. USE THIS METHOD WHEN: - The job ran on a physical mobile device (iPhone, Android, etc.) - get_test_assets returns an error about "Real Device job" - get_log_json_file fails with asset not found errors - You need logs/videos from mobile app testing For web browser testing on virtual machines, use get_test_assets instead. :param job_id: Required. The unique identifier of a job running on a real device in the data center. You can look up job IDs using the Get Real Device Jobs endpoint. :param asset_type: Required. The unique identifier of a job running on a real device in the data center. You can look up job IDs using the Get Real Device Jobs endpoint. Possible values are: 'deviceLogs' - Device Logs | Appium, Espresso, XCUITest 'appiumLogs' - Appium Logs | Appium 'appiumRequests' - Appium Requests | Appium 'junit.xml' - JUnit XML | Espresso, XCUITest 'xcuitestLogs' - XCUITest Logs | XCUITest 'video.mp4' - Video | Appium, Espresso, XCUITest 'screenshots.zip' - Screenshots | Appium, Espresso 'network.har' - Network Logs | Appium, Espresso, XCUITest 'insights.json' - Device Vitals | Appium, Espresso, XCUITest 'crash.json' - Crash Logs | Appium
get_private_devices

Get a list of private devices with their device information and settings.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
account_info Retrieves detailed account information for the user associated with this client. Refer to `SauceAPI.resource_manifest['account']['methods']['get_account_info']` for full documentation.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saucelabs/sauce-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server