A side-by-side look at the CDPM and Usable Browser Agent 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 Usable Browser Agent for browser automation. You can also run both side by side in one mcpServers block.
browser_status, browser_launch, browser_close.UBA_PORT, UBA_MEMORY_FILE, UBA_SECRETS_FILE.browser_workflow_recall, browser_workflow_remember, browser_workflow_forget.Rows where the two servers differ are marked.
| Spec | C CDPM | |
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 60/100 · Good | 45/100 · Fair |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | UBA_PORTUBA_MEMORY_FILEUBA_SECRETS_FILE |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 28 | 34 |
| Full listing | View CDPM | View Usable Browser Agent |
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_workflow_recallSearch local workflow memory before starting a repeated/changing-site taskbrowser_workflow_rememberSave verified reusable workflow steps, pitfalls, and durable UI cuesbrowser_workflow_forgetTombstone stale, sensitive, or incorrect workflow memorybrowser_snapshotAccessibility/DOM tree with `[ref=eN]` handles — the primary perception toolbrowser_navigateNavigationbrowser_clickClick by ref — supports right/middle button, double-click, and ctrl/shift/alt/meta modifiersbrowser_dragDrag one element onto another (kanban, sortable lists, sliders)browser_typeType into a field by ref (optional `submit` = press Enter)browser_fill_formFill many fields `[{ref,text}]` in one callbrowser_fill_secretFill a username/password from a server-side secret aliasbrowser_loginAtomically fill username/password from a server-side secret alias and submitbrowser_selectChoose a `<select>` option by label/valuePaste 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"
]
}
}
}
No confirmed install command for Usable Browser Agent yet — follow the setup steps linked from its listing page rather than a guessed package name.