Skip to main content
Glama
saucelabs

Sauce Labs MCP Server

Official
by saucelabs

upload_file_to_storage

Upload app packages or generic files to Sauce Storage for mobile testing. Returns a unique file ID for use in test runs.

Instructions

    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.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_pathYes
nameYes
descriptionYes
tagsYes
project_nameYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses return of a unique file ID, supported formats, 4GB size limit, HTTP status codes, and project creation behavior. However, it does not mention authentication or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat verbose with a list of :param entries, but it is front-loaded with the main purpose. It could be more concise without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 required parameters and no output schema, the description covers input constraints and return values (201 Created). It lacks explanation of how the file ID is used later, but overall it is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description explains each parameter in detail, including constraints for tags (length, characters, count) and project_name (characters, max length, auto-creation). This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool uploads files to Sauce Storage for mobile app testing or pre-run executables, specifies supported formats and size limit, and distinguishes from sibling retrieval tools like get_storage_files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives such as get_storage_files. It only implies usage through the upload action, but no when-not or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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