A side-by-side look at the CDPM and Stealth Agent Browser MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose CDPM for browser automation work as a local process; choose Stealth Agent Browser for browser automation as a local process. You can also run both side by side in one mcpServers block.
browser_status, browser_launch, browser_close.browser_navigate, browser_snapshot, browser_click.Rows where the two servers differ are marked.
| Spec | C CDPM | |
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 60/100 · Good | 52/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 28 | 13 |
| Full listing | View CDPM | View Stealth Agent Browser |
browser_statusLive slots, tabs, openers, last actions, summaries, dialogsbrowser_launchStart a slot — only when the user asks; no `slot` = lowest free; `slots` (list) or `count` start several at once, lowest first; `url` / `urls` open a start page right away. Window or headless is the user's choice: if they didn't say, Claude asks first (without `headless`, a closed slot is not start…browser_closeClose gracefully (profile kept)browser_tabsList / open in background (returns ID) / close / bring to front (only when the user wants)browser_snapshotAccessibility text with refs; `page`, `find`, `refbrowser_textReadable text (main/article first, or one `ref`), paginatedbrowser_screenshotVisible area as PNG, background tabs included; no full-page capturebrowser_navigateWaits for load; slow servers are reported as "still loading", not as errorsbrowser_clickReal mouse click; reports covering elements, new tabs, form-validation failuresbrowser_typeReal key events per character (`clear`, `submit`, `fast`); verifies the value and does not press Enter for `submit` if the value differs (the site rejected or reformatted the input); date/time inputs are set after format validationbrowser_fillFill several inputs on one page in order, then optionally `submit` ("Enter" or a button ref); stops at the first failure, page change, dialog or a field whose value differs from what was typed (nothing is submitted then)browser_dialogAccept or dismiss an open alert/confirm/prompt/beforeunload (`text` for prompt). Claude decides from the messagebrowser_navigateNavigate a URL and return a snapshot.browser_snapshotaom` (YAML only, cheapest), `vision` (raw screenshot), or `hybrid` (YAML + Set-of-Mark screenshot).browser_clickClick an element by its `[ref=eN]`.browser_typeType into an input/textarea by ref.browser_selectChoose options in a `<select>` by ref.browser_scroll_readScroll and return Readability Markdown (delta-only by default).browser_wait_forWait for text or a ref to become visible.browser_tabslist` / `new` / `close` / `switch`.browser_evalEvaluate a JS expression in the page's MAIN world; JSON result.browser_set_proxyUpdate single-proxy config (effective after `browser_restart`).browser_set_proxy_poolReplace residential proxy pool at runtime (effective after `browser_restart`).browser_solve_captchaFallback captcha solver (CapSolver / 2Captcha). Detects Turnstile/hCaptcha/reCAPTCHA on the page.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"igelharine-cdpm": {
"command": "npx",
"args": [
"-y",
"cdpm-mcp"
]
}
}
}
{
"mcpServers": {
"stealth-agent-browser": {
"command": "npx",
"args": [
"-y",
"playwright-core"
]
}
}
}