github Python analyzed 1dbdcf7

saucelabs/sauce-api-mcp

github

MCP Server that models the Sauce Labs API

maintainer
saucelabs
licence
Apache-2.0
first seen
2026-06-12
last seen
2026-09-17
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 7 tools
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
skills & danger signals github-tarball
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

code evidence vv1.2.2 · github-tarball
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