A side-by-side look at the Yab, Yet Another Browser and Arc Control (macOS) MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Yab, Yet Another Browser for browser automation work as a local process; choose Arc Control (macOS) for browser automation as a local process. You can also run both side by side in one mcpServers block.
devtools_comments, devtools_console, devtools_network.list_tabs, get_current_tab, switch_to_tab.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 56/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 69 | 38 |
| Full listing | View Yab, Yet Another Browser | View Arc Control (macOS) |
devtools_commentsRead user-authored comments on elements of an already inspected, non-private tab.devtools_consoleRead recorded Console messages from an already inspected, non-private tab.devtools_networkRead sanitized request metadata recorded by the tab's Developer Tools.devtools_traceRead the WebKit Performance recording's event names, durations and nesting.devtools_stylesRead the currently selected element's matched and computed styles from Developer Tools.native_contextRead Yab's own current settings, spaces, tabs, mail accounts, permissions and this task's native operations.native_actionsList native Yab actions with their strict argument schemas, targetKind, undo support and permission requirements.native_applyPerform a native Yab action explicitly requested by the user: settings, spaces, tabs, page fonts or connecting Gmail.native_operationRead this task's native operation by operationId, or wait for a change up to seconds (0 to 10).native_undoUndo a native change of this task by its changeId (or the last undoable change).tabsList the tabs open in Yab, the user's web browser: the user's and the agents'.openOpen a web page (URL) in a new agent tab in Yab, the user's browser, signed in to their sites, beside the user's tabs.list_tabsEvery tab, or narrow with `scope: "own"`, `query`, `space`, `window_id`. Rows are flagged `mine` and `isActive`.get_current_tabThe tab a call with no `tab_id` would act on.switch_to_tabMake a tab active in its window. `activate` also brings Arc to the front. Waits for you to stop typing.close_tabClose one tab.close_own_tabsClose every tab this agent opened, leaving the user's alone. `include_stale` also closes tabs leaked by a dead previous run of the same label.arc_statusArc's version and whether it is the frontmost app, owned tabs, the agent window (id, placement, display, minimized), whether Accessibility is available, your current idle time, whether the agent space exists, what a call with no `tab_id` resolves to (reported separately for read-only and for changi…open_urlOpen a URL in the agent window, launching Arc if needed. Waits for you to stop typing, and reports `focusRestored` and `waitedForUserMs`. Options for `new_tab`, target `space`, `little_arc`, `activate`, `wait_until_loaded`.go_backMove a tab through its history, verified by checking the URL actually changed.reload_tabReload a tab.wait_for_loadPoll until the document is ready, optionally until the URL contains a substring. Also reads Arc's `loading` flag (see [Loading tabs](#loading-tabs-and-stop_loading)), so a hung page shows up as `ready: "loading"` instead of a stalled call.stop_loadingPress the stop button on a tab that will not finish loading, which also unblocks every page tool on it.get_page_contentVisible text, whole page or every element matching a selector, joined. Always reports `matched`, so a partial answer is never silent, and flags truncation.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": {
"yab-yet-another-browser": {
"command": "npx",
"args": [
"-y",
"yab-mcp"
]
}
}
}
{
"mcpServers": {
"arc-control-macos": {
"command": "npx",
"args": [
"-y",
"arc-control-mcp@latest"
]
}
}
}