browser-harness-js vs stealth-browser-mcp
browser-use's thinnest LLM-to-Chrome bridge: all 652 CDP methods as typed JS calls over one WebSocket — no click() helpers, no rails; the protocol is the API. — versus — MCP server for undetectable browser automation: real Chrome via nodriver + CDP, Cloudflare/anti-bot bypass, AI-written network hooks — agents browse where Playwright gets blocked.
Both CDP-level browser control for agents: stealth-browser-mcp specializes in anti-bot evasion via nodriver; the harness is the thinnest generic typed bridge.
| browser-harness-js | stealth-browser-mcp | |
|---|---|---|
| Stars | 472 | 1.5k |
| Forks | 32 | 231 |
| Language | TypeScript | Python |
| License | MIT | MIT |
| Last activity | 2 months ago | 1 months ago |
| Topics | web | web |
| Curated connections | 2 | 3 |
browser-harness-js — the curator's take
The bitter-lesson answer to browser frameworks, from the browser-use team themselves: no helpers — the agent writes raw CDP calls, with types as the docs. Brilliant for capable models on weird pages; frustrating for weak models that need click() rails — that's what browser-use itself is for.
stealth-browser-mcp — the curator's take
For the pages where standard automation dies at the Cloudflare wall: real Chrome instances driven through nodriver + CDP, exposed to any MCP client, with network-hook tooling Playwright MCPs don't have. When your agent legitimately needs a protected page (your own accounts, paywalled services you subscribe to), this is the tool that actually works. The obvious caution IS the caution: 'bypasses anti-bot systems' means you're overriding sites' stated wishes — check ToS and law before pointing it anywhere you don't own; expect the arms race to break it periodically, and audit what its hooks can capture (credentials pass through).