In-depth architectural comparison of the BrowserTap MCP and WebAnatomy MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
BrowserTap MCP
Developer Tools · Local stdio
Quality: 47/100 (Fair) | Auth: No auth required
WebAnatomy
Developer Tools · Local stdio
Quality: 45/100 (Fair) | Auth: No auth required
Verdict Summary: Choose BrowserTap MCP if you need specialized Developer Tools tools running via a local process. Choose WebAnatomy if your workspace requires Developer Tools integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
B
Choose BrowserTap MCP when:
You need dedicated capabilities in the Developer Tools domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
report `package_version`, `bridge_version`, `extension_version`, `protocol_version`, connection state, ports, tabs, and the required recovery action. A missing bridge listener is started automatically when spawning is enabled; `restart_bridge_required=true` means a bridge that is still running must…
get_automation_profile
inspect whether the current MCP process uses `lab` or `safe`.
set_automation_profile
switch the current MCP process between `lab|safe`; the override is not persisted and does not reload the extension.
list_tabs
list connected tabs. Each carries a `browser` field. No parameters.
list_all_tabs
*(no tab needed)* list every open tab, including `chrome-extension://` pages that `list_tabs` hides. Those never become sessions, so they have no session id; drive them with `cdp_command(tab_id=...)`.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
BrowserTap MCP is categorized under Developer Tools and uses a local stdio subprocess. In contrast, WebAnatomy belongs to Developer Tools using local stdio subprocess. Select BrowserTap MCP when you need capabilities focused on developer tools and WebAnatomy when you require tools for developer tools.
set the *target* tab for later calls. A `url_pattern` must match exactly one tab; if several match, select one with its full `session_id`. It does **not** raise the tab or focus the browser: `activate` defaults to `false`, so retargeting never disturbs what you are looking at. Pass `activate=true`,…
activate_tab
bring a tab to the foreground and focus its window. This is the explicit way to raise a tab, and the only one that does not involve approving physical input. Check `on_screen` in the reply: BTAP first asks Windows to restore a minimised browser, but `on_screen=false` means visibility still could no…
open_url
navigate the current tab. Global behavior remains `dismiss`; lab automatically accepts beforeunload on configured shell/IDE hosts. If the extension's `navigate` route is unavailable on a heavy SPA, BTAP falls back to `Page.navigate`. A CDP result with `isDownload=true` returns `{type:"download",sta…
download_file
download an HTTP(S) URL through Chrome's native download manager, using that browser profile's cookies and authenticated session. It waits by default and returns `status="completed"` plus a verified absolute `path`; interrupted downloads return `failed`, while a timeout or `wait=false` returns `in_…
open_new_tab
open a background tab by default with a unique `operation_id` and wait a bounded time for exact session/generation registration; pass `active=true` only when foreground work is genuinely required. Returns `{operation_id,tab_id,session_id,generation,ready,owned,opener,owner_id,load_status}`. The ext…
close_tabs
*(no tab needed)* accept native numeric tab ids or full `client:tabId` session ids, including `chrome-extension://` tabs. The default `only_if_agent_owned=true` requires the `owner_id` returned by `open_new_tab` and verifies the current lifecycle generation before closing, so pre-existing user tabs…
scan_page
read the page as simplified HTML or text. Returns `links` mapping each `#rN` ref in the content to its absolute URL, and `offscreen` + `hint` when content was left outside the viewport.
+43 more tools listed on main page
WebAnatomy Tools (0)
No explicit tool names declared in metadata yet. Check project README on main listing page.