MCP Server that models the Sauce Labs API
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http
verified
reported
listed in the official MCP registry counts 7 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
createSession
-
installApp
-
proxy_http
-
pull_file_from_device
-
push_file_to_device
-
take_screenshot
-
waitForAppInstallation
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 1dbdcf7 · analyzer v33 · 1d ago
danger signals2
- suspicious endpoint www.google-analytics.com (telemetry) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_core_unit.py :620
entry = self._make_entry(url="https://www.google-analytics.com/collect") - suspicious endpoint google-analytics.com (telemetry) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_core_unit.py :739
"request": {"url": "https://google-analytics.com/collect"},
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 23
filesystem 6
- fs saucelabs-sauce-api-mcp-1dbdcf7/archive/rdc_openapi.py :1050
:param url: Required. The URL to open (can include custom schemes) - fs saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/main.py :127
request_files[key] = open(file_path, 'rb') - fs saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :162
with open(SPEC_CACHE_FILE, "w") as f: - fs saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_mcp/rdc_openapi.py :1051
:param url: Required. The URL to open (can include custom schemes) - fs (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/conftest.py :88
with open(mcp_json_path) as f: - fs (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_rdc_dynamic_e2e.py :127
os.unlink(tmp_path)
network 11
- net saucelabs-sauce-api-mcp-1dbdcf7/archive/rdc_openapi.py :5
import httpx - net saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/main.py :6
import httpx - net saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :42
import httpx - net saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_mcp/rdc_openapi.py :5
import httpx - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/conftest.py :12
import httpx - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_basic.py :3
import httpx - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_core_unit.py :4
All HTTP calls are intercepted via httpx.MockTransport so no real API - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_rdc_dynamic_create_session.py :20
import httpx - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_rdc_dynamic_e2e.py :30
import httpx - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_rdc_dynamic_headers.py :1
import httpx - net (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_rdc_dynamic_install_app.py :30
import httpx
secrets 6
- secrets saucelabs-sauce-api-mcp-1dbdcf7/archive/rdc_openapi.py :1226
SAUCE_ACCESS_KEY = os.getenv("SAUCE_ACCESS_KEY") - secrets saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/main.py :1432
SAUCE_ACCESS_KEY = os.getenv("SAUCE_ACCESS_KEY") - secrets saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :1002
access_key = os.getenv("SAUCE_ACCESS_KEY") - secrets saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_mcp/rdc_openapi.py :1227
SAUCE_ACCESS_KEY = os.getenv("SAUCE_ACCESS_KEY") - secrets (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/conftest.py :77
access_key = os.getenv("SAUCE_ACCESS_KEY") - secrets (weak) saucelabs-sauce-api-mcp-1dbdcf7/tests/test_prompt_variations.py :51
HAS_ANTHROPIC_KEY = bool(os.getenv("ANTHROPIC_API_KEY"))
tool registrations 7
- createSession saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :370
- installApp saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :557
- waitForAppInstallation saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :684
- push_file_to_device saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :822
- take_screenshot saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :862
- pull_file_from_device saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :885
- proxy_http saucelabs-sauce-api-mcp-1dbdcf7/src/sauce_api_mcp/rdc_dynamic.py :924
declared dependencies 7
- mcp@>=1.24.0
- fastmcp@>=3.2.0
- httpx@>=0.28.1
- pydantic@>=2.12.5
- pyyaml@>=6.0.3
- pytest@>=9.0.3
- pytest-asyncio@>=1.3.0