{
  "slug": "io-github-clearcotelabs-clearcote-mcp",
  "name": "Clearcote Browser",
  "auditedAt": "2026-11-02T12:22:31Z",
  "version": "0.3.1",
  "ecosystem": "pypi",
  "package": "clearcote-mcp",
  "disclaimer": "Automated smoke test, not a security guarantee.",
  "complete": true,
  "checks": {
    "versionPin": {
      "status": "pass",
      "detail": "Pinned pypi clearcote-mcp@0.3.1",
      "version": "0.3.1"
    },
    "vulnerabilities": {
      "status": "pass",
      "detail": "No critical, high, or medium advisories were returned.",
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 0,
      "packagesScanned": 1
    },
    "license": {
      "status": "pass",
      "detail": "BSD-3-Clause",
      "spdx": "BSD-3-Clause"
    },
    "installScripts": {
      "status": "pass",
      "detail": "No preinstall, install, postinstall, or prepare script.",
      "scripts": []
    },
    "secrets": {
      "status": "pass",
      "detail": "No credential patterns in the published artifact.",
      "findings": []
    },
    "packageSize": {
      "status": "pass",
      "detail": "28311 bytes",
      "bytes": 28311
    },
    "activity": {
      "status": "pass",
      "detail": "Active 5 days ago.",
      "ageDays": 5
    },
    "sandbox": {
      "status": "pass",
      "detail": "MCP handshake completed. 20 tools listed.",
      "starts": true,
      "handshake": true,
      "timeToReadyMs": 1369,
      "tools": [
        {
          "name": "navigate",
          "description": "Navigate the current tab to a URL. Returns the resolved url, title, http_status and page_state\n(see read_page)."
        },
        {
          "name": "read_page",
          "description": "Read the current page (or navigate to `url` first) as Markdown (default), its visible \"text\", or\n\"both\". Also returns http_status (the shown document's; null if unknown) and page_state: \"blocked\"\n(HTTP 401, 403, 429 or 503), \"empty\" (under "
        },
        {
          "name": "get_page_html",
          "description": "Get the HTML of the current page (or navigate to `url` first), inside the untrusted-content fence."
        },
        {
          "name": "page_elements",
          "description": "List the interactive elements (links, buttons, inputs) on the page, one JSON object per line, each\nwith a selector."
        },
        {
          "name": "click",
          "description": "Click an element by CSS selector or by visible text (navigate to `url` first if given)."
        },
        {
          "name": "fill_field",
          "description": "Fill an input matched by selector, label, placeholder, or name."
        },
        {
          "name": "press_key",
          "description": "Press a key on the current page, e.g. 'Enter', 'Tab', 'Control+A'."
        },
        {
          "name": "evaluate_js",
          "description": "Evaluate a JavaScript expression in the page and return its (JSON-serializable) result, as JSON\ntext inside the untrusted-content fence."
        },
        {
          "name": "wait_for",
          "description": "Wait until a selector appears (up to timeout_ms)."
        },
        {
          "name": "current_page",
          "description": "Return the current tab's url + title."
        },
        {
          "name": "screenshot_page",
          "description": "Screenshot the current page (or navigate to `url` first), saved under the sandbox dir. Up to\n200 KB it is also returned as an image; a bigger one only as its file path (inline: false)."
        },
        {
          "name": "save_page_pdf",
          "description": "Save the current page as a PDF (headless only). Saved under the sandbox dir."
        },
        {
          "name": "get_cookies",
          "description": "Get cookies for the current context (optionally filtered to `url`). Each cookie's name, value, domain and\npath are the site's, each between untrusted-content tags on one line."
        },
        {
          "name": "list_tabs",
          "description": "List open tabs (index, url, title, which is current)."
        },
        {
          "name": "new_tab",
          "description": "Open a new tab (optionally navigate it) and make it current."
        },
        {
          "name": "close_tab",
          "description": "Close the tab at `index` (from list_tabs)."
        },
        {
          "name": "save_profile",
          "description": "Save cookies + storage state to a named profile under the sandbox dir."
        },
        {
          "name": "load_profile",
          "description": "Restore cookies + storage from a named profile (see save_profile)."
        },
        {
          "name": "get_egress_info",
          "description": "Report the browser's public egress IP (through any configured proxy) + the active persona."
        },
        {
          "name": "get_cdp_endpoint",
          "description": "Return the stealth browser's raw CDP endpoint so ANY other client (Playwright / Puppeteer /\nbrowser-use / Crawl4AI / Stagehand) can attach to the SAME browser with `connect_over_cdp`,\nkeeping the stealth persona. This is the whole point of "
        }
      ],
      "toolCount": 20,
      "resourceCount": 0,
      "promptCount": 0,
      "stderrExcerpt": "clearcote: warning: geoip (on by default): could not resolve the connection's region (could not determine the exit IP). Launching with the persona's default timezone and language; pass geoip=True to fail instead, or geoip=False to skip the lookup.\n[clearcote] fetching Clearcote 151.0.7922.108 (v0.1.0-pre.25, ~122 MB)",
      "network": "disabled",
      "networkAttemptedWhileOffline": false,
      "outboundHosts": [],
      "requiresCredentials": false
    }
  },
  "tier": "gold",
  "tierReason": "Sandbox handshake completed and the published checks passed.",
  "logExcerpt": "clearcote: warning: geoip (on by default): could not resolve the connection's region (could not determine the exit IP). Launching with the persona's default timezone and language; pass geoip=True to fail instead, or geoip=False to skip the lookup.\n[clearcote] fetching Clearcote 151.0.7922.108 (v0.1.0-pre.25, ~122 MB)"
}