{
  "schema_version": "2.0",
  "slug": "swimmwatch-cloakbrowser-mcp",
  "name": "CloakBrowser MCP",
  "agent_url": "https://swimmwatch.github.io/cloakbrowser-mcp/",
  "repo_url": "https://github.com/swimmwatch/cloakbrowser-mcp",
  "category": "Frameworks & Eval",
  "run_id": "run-47b7472de3d037be-swimmwatch-github-io",
  "run_at": "2026-08-14T00:30:48.373Z",
  "reviewed_at": "2026-08-14",
  "generated_at": "2026-08-14T21:33:25Z",
  "editor": "Hlido Editor",
  "editorial_method": "public-surface-tier-2+editorial-narrative-v2",
  "methodology_version": "2026.08",
  "methodology_url": "/methodology/public-surface-tier-1/",
  "engine": "public-surface",
  "evidence_tier": "screenshot",
  "score": 77,
  "tier": "STEADY",
  "laddoo_score": 77,
  "confidence": "high",
  "review_url": "/reviews/swimmwatch-cloakbrowser-mcp/",
  "hlido_opinion": {
    "headline": "A Playwright-MCP-compatible browser server that publishes a version compatibility matrix and says parity with upstream is verified in CI — the honest answer to 'will this break when Playwright MCP updates?'",
    "body": "CloakBrowser MCP is positioned precisely: a drop-in Playwright-MCP-compatible server that runs upstream @playwright/mcp as the canonical tool surface, with CloakBrowser Chromium and deployment features layered around it. Because the tools are unchanged upstream tools, the compatibility question becomes the whole risk, and the docs answer it directly with a matrix mapping every cloakbrowser-mcp release to its @playwright/mcp version, Playwright MCP Docker base image, CloakBrowser version and transports — with a Parity column reading 'Compared in CI'. Publishing a compatibility matrix at all is uncommon; testing that parity in CI and saying so is genuinely good engineering practice made legible to a buyer. The added value is stated as deployment-oriented rather than functional: persistent profiles, extension loading, context validation, GeoIP-aware proxy matching for regional QA, and humanized input behaviour for interaction-sensitive flows. Version is current and visible (v1.11.0), packaging covers npm, Docker and Streamable HTTP, and the documentation is translated into ten languages, which signals a maintainer investing well beyond a weekend project. The thing to be clear-eyed about is what 'CloakBrowser' and 'humanized input behavior' mean: these are anti-detection features. There is a legitimate use — regional QA and testing interaction-sensitive flows are real jobs — but the same capabilities evade bot detection, and the documentation does not address the acceptable-use question that raises. Buyers in regulated contexts should resolve that before adopting.",
    "voice": "Hlido Editor",
    "as_of": "2026-08-14",
    "editor_signature_pending": true
  },
  "tier_rationale": "STEADY because the surface is unusually complete and honest for a wrapper project: current version, a full compatibility matrix with CI-verified parity, three packaging routes, comparison and recipe sections, and a clear statement of what it adds versus what it inherits. Held out of the top band because the anti-detection capabilities at the centre of the value proposition are presented without any acceptable-use discussion, and because a wrapper inherits upstream's release cadence as a standing dependency risk.",
  "what_it_does_well": [
    "Publishes a full version compatibility matrix across cloakbrowser-mcp, @playwright/mcp, Docker base and CloakBrowser",
    "States that upstream parity is compared in CI, rather than merely asserting compatibility",
    "Honest about what it inherits versus what it adds — upstream tools unchanged, deployment features layered on",
    "Current version visible (v1.11.0) with prior releases and their pinnings retained",
    "Three packaging routes: npm, Docker and Streamable HTTP",
    "Documentation translated into ten languages, plus comparison and recipe sections"
  ],
  "what_it_fails_at": [
    "Anti-detection features (CloakBrowser, humanized input) are central to the value proposition and carry no acceptable-use discussion",
    "As a wrapper, it inherits upstream's release cadence — a standing dependency risk the matrix documents but cannot remove",
    "The tool surface is deliberately upstream's, so it is documented there rather than here",
    "No statement on how persistent profiles store cookies or credentials",
    "GeoIP-aware proxy matching implies proxy infrastructure that is not described or sourced"
  ],
  "best_for": [
    "Teams already on Playwright MCP who need persistent profiles, extension loading or regional QA",
    "QA engineers testing geo-specific behaviour where proxy matching is the requirement",
    "Deployments needing Docker or Streamable HTTP packaging that upstream does not provide as directly"
  ],
  "not_recommended_for": [
    "Organisations whose policies prohibit anti-bot-detection tooling — resolve this before adopting",
    "Users who need only standard browser automation; upstream Playwright MCP is the simpler dependency",
    "Teams unwilling to carry a wrapper's upstream-tracking risk, however well documented"
  ],
  "red_flags": [
    "'CloakBrowser' and 'humanized input behavior' are anti-detection capabilities. The stated uses — regional QA, interaction-sensitive testing — are legitimate, but the same features defeat bot detection and the docs raise no acceptable-use question at all.",
    "Persistent profiles and extension loading imply stored browser state, potentially including credentials and cookies, with no documented handling or isolation model."
  ],
  "compared_to": [
    {
      "slug": "microsoft-playwright-mcp",
      "verdict_diff": "This wraps that. Take upstream unless you specifically need persistent profiles, extension loading, GeoIP proxy matching or the Docker/HTTP packaging — every wrapper adds a tracking dependency, and this one documents that cost more honestly than most.",
      "preferred_for_axis": "upstream-simplicity-vs-deployment-features"
    },
    {
      "slug": "mathiaspaulenko-wavexis-mcp",
      "verdict_diff": "WaveXisMCP reimplements browser control in Python with its own 220-tool surface; CloakBrowser deliberately keeps upstream's tools and changes only execution. Opposite strategies — reimplementation versus compatible wrapping.",
      "preferred_for_axis": "reimplementation-vs-wrapping"
    }
  ],
  "agent_relevance": {
    "has_api": false,
    "has_cli": false,
    "has_mcp": true,
    "has_webhook": false,
    "has_sdk": false,
    "behavioral_testable": true,
    "agent_integration_path": "Drop-in Playwright MCP compatible over stdio and Streamable HTTP, so any agent already configured for upstream works unchanged — the compatibility matrix makes the version contract explicit, which is exactly what an agent operator needs to pin against.",
    "agent_friendly_score": 8
  },
  "claims": [
    {
      "id": "C01",
      "claim": "Homepage publicly accessible and value proposition clearly stated",
      "required": true,
      "verdict": "pass",
      "evidence": "Docs site loads without auth and states precisely what it is: a drop-in Playwright-MCP-compatible server with unchanged upstream tools plus deployment features.",
      "source_surface": "docs"
    },
    {
      "id": "C02",
      "claim": "Pricing page discoverable in 2 clicks from homepage",
      "required": false,
      "verdict": "unverified",
      "evidence": "Open-source npm and Docker distribution; no pricing surface expected.",
      "source_surface": "docs"
    },
    {
      "id": "C03",
      "claim": "Documentation or live demo accessible without login",
      "required": true,
      "verdict": "pass",
      "evidence": "Public overview, user guide, get-started, compare and recipes sections, plus a 30-second demo.",
      "source_surface": "docs"
    },
    {
      "id": "C04",
      "claim": "Integration list or supported frameworks documented",
      "required": true,
      "verdict": "pass",
      "evidence": "Full version compatibility matrix, both transports named, and npm/Docker/Streamable HTTP packaging documented.",
      "source_surface": "docs"
    },
    {
      "id": "C05",
      "claim": "Authentication / data handling claims publicly stated",
      "required": false,
      "verdict": "fail",
      "evidence": "No statement on how persistent profiles store browser state, cookies or credentials, and no acceptable-use position on the anti-detection features.",
      "source_surface": "docs"
    }
  ],
  "evidence_urls": [
    {
      "claim": "Homepage publicly accessible and value proposition clearly stated",
      "source": "https://swimmwatch.github.io/cloakbrowser-mcp/",
      "tested_at": "2026-08-14",
      "verified": true
    },
    {
      "claim": "Pricing page discoverable in 2 clicks from homepage",
      "source": "https://swimmwatch.github.io/cloakbrowser-mcp/",
      "tested_at": "2026-08-14",
      "verified": false
    },
    {
      "claim": "Documentation or live demo accessible without login",
      "source": "https://swimmwatch.github.io/cloakbrowser-mcp/",
      "tested_at": "2026-08-14",
      "verified": true
    },
    {
      "claim": "Integration list or supported frameworks documented",
      "source": "https://swimmwatch.github.io/cloakbrowser-mcp/",
      "tested_at": "2026-08-14",
      "verified": true
    },
    {
      "claim": "Authentication / data handling claims publicly stated",
      "source": "https://swimmwatch.github.io/cloakbrowser-mcp/",
      "tested_at": "2026-08-14",
      "verified": false
    }
  ],
  "marking_signal": {
    "not_applicable": true,
    "rationale": "Browser automation server; it drives an existing browser and captures pages rather than generating synthetic media, so Article 50(4) marking duties do not attach.",
    "checked_at": "2026-08-14"
  },
  "evidence_images": {
    "run_id": "run-47b7472de3d037be-swimmwatch-github-io",
    "base": "https://images.hlido.eu/reviews/swimmwatch-cloakbrowser-mcp/run-47b7472de3d037be-swimmwatch-github-io",
    "files": [
      "home.png",
      "page_cloakbrowser-mcp-server.png",
      "pageru_.png",
      "pagebe_.png"
    ],
    "urls": [
      "https://images.hlido.eu/reviews/swimmwatch-cloakbrowser-mcp/run-47b7472de3d037be-swimmwatch-github-io/home.png",
      "https://images.hlido.eu/reviews/swimmwatch-cloakbrowser-mcp/run-47b7472de3d037be-swimmwatch-github-io/page_cloakbrowser-mcp-server.png",
      "https://images.hlido.eu/reviews/swimmwatch-cloakbrowser-mcp/run-47b7472de3d037be-swimmwatch-github-io/pageru_.png",
      "https://images.hlido.eu/reviews/swimmwatch-cloakbrowser-mcp/run-47b7472de3d037be-swimmwatch-github-io/pagebe_.png"
    ]
  },
  "pricing_facts": {
    "schema": "pricing-facts/1",
    "model": [
      "paid"
    ],
    "last_verified": "2026-08-14",
    "basis": "Derived from Hlido-held evidence only (engine checklist + editorial text); quotes are verbatim from the scorecard; not vendor-supplied; re-derived daily. Verify current prices on the vendor's pricing page.",
    "derived_at": "2026-08-21"
  }
}
