# sauce-api-mcp

Connects AI coding assistants to the Sauce Labs infrastructure. It lets agents inspect test logs, check cloud devices, and track tunnel status.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Author: saucelabs
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/saucelabs/sauce-api-mcp
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/sauce-api-mcp

## What it does

The package ships two executable servers upon installation: `sauce-api-mcp` for general API endpoints and `sauce-api-mcp-rdc` for real hardware. The core server inspects test jobs and checks Sauce Connect tunnels. Agents can browse through 300+ real iOS and Android models alongside virtual machines.

The RDC server relies on FastMCP to generate tools directly from the Sauce Labs OpenAPI definition at startup. This keeps device tools current. To protect model context limits, list payloads get truncated at 100 records by default through `SAUCE_MCP_MAX_RESPONSE_ITEMS`.

Connecting requires Python 3.10+ along with `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` credentials. Device file transfers stay locked inside `~/.sauce-mcp/files/` to stop path traversal attacks.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `SAUCE_USERNAME`, `SAUCE_ACCESS_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env SAUCE_USERNAME=<SAUCE_USERNAME> --env SAUCE_ACCESS_KEY=<SAUCE_ACCESS_KEY> --transport stdio sauce-api-mcp -- uvx sauce-api-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sauce-api-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add sauce-api-mcp --env SAUCE_USERNAME=<SAUCE_USERNAME> --env SAUCE_ACCESS_KEY=<SAUCE_ACCESS_KEY> -- uvx sauce-api-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sauce-api-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "sauce-api-mcp": {
            "command": "uvx",
            "args": [
                "sauce-api-mcp"
            ],
            "env": {
                "SAUCE_USERNAME": "<SAUCE_USERNAME>",
                "SAUCE_ACCESS_KEY": "<SAUCE_ACCESS_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sauce-api-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "sauce-api-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "sauce-api-mcp"
            ],
            "env": {
                "SAUCE_USERNAME": "<SAUCE_USERNAME>",
                "SAUCE_ACCESS_KEY": "<SAUCE_ACCESS_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sauce-api-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SAUCE_USERNAME=<SAUCE_USERNAME> -e SAUCE_ACCESS_KEY=<SAUCE_ACCESS_KEY> sauce-api-mcp uvx sauce-api-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sauce-api-mcp <command>

## When to use it
- inspect failed test execution logs and failure causes
- query 300+ real iOS and Android devices in the cloud
- verify Sauce Connect tunnel health and settings
- manage uploaded test applications and build artifacts

## Example prompts
- Show me available Android devices in the US West region and check their status.
- Inspect the failure logs and video recording for the latest build.
- Check if the Sauce Connect tunnel is currently running.

## Similar
- [dogfood](https://affpapa.org/en/nevibecode/skills/dogfood.md) — skill · 11300 installs
- [e2e](https://affpapa.org/en/nevibecode/skills/e2e.md) — skill · 1200 installs
- [argent-qa-e2e](https://affpapa.org/en/nevibecode/skills/argent-qa-e2e.md) — skill · 979 installs
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 10025
- [agent-device](https://affpapa.org/en/nevibecode/mcp/agent-device.md) — MCP server · ★ 5158
- [mobai-mcp](https://affpapa.org/en/nevibecode/mcp/mobai-mcp.md) — MCP server · ★ 252

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
