BrowserAttach MCP server
io.github.EvannZhongg · Updated
Control existing signed-in Chrome and Edge tabs through a locally paired extension.
At a glance
BrowserAttach is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y @evan_zhong/browser-attach`, and declares no required credentials. It exposes 15 tools, including browser_discover, browser_claim_tab and browser_open_tab. It scores A (91/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install BrowserAttach in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install BrowserAttach in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add browser-attach -- npx -y @evan_zhong/browser-attachVerify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. browser_discover, browser_claim_tab, browser_open_tab). It discovers them automatically.
How to install BrowserAttach in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "browser-attach": { "command": "npx", "args": [ "-y", "@evan_zhong/browser-attach" ] } } }Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install BrowserAttach in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "browser-attach": { "command": "npx", "args": [ "-y", "@evan_zhong/browser-attach" ] } } }Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install BrowserAttach in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.browser-attach] command = "npx" args = ["-y", "@evan_zhong/browser-attach"]Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install BrowserAttach in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "browser-attach": { "command": "npx", "args": [ "-y", "@evan_zhong/browser-attach" ] } } }Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install BrowserAttach in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "browser-attach": { "command": "npx", "args": [ "-y", "@evan_zhong/browser-attach" ] } } }
How to install BrowserAttach in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "browser-attach": { "type": "stdio", "command": "npx", "args": [ "-y", "@evan_zhong/browser-attach" ] } } }Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What tools does BrowserAttach expose? (15)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- browser_discover`kind=browsers/tabs`; discover browser profiles, tab identity and control status
- browser_claim_tabExclusively claim a discovered tab
- browser_open_tabCreate a tab, optionally claim it with `claim:true`; explicit `release/activate/close`
- browser_fetchRead one HTTP(S) URL in a temporary background tab using the profile's sign-in; `text`/`html`/`json`, optional HTTP status and cursor continuation
- browser_snapshotAX snapshot, literal name/value query with actionable refs, and page text
- browser_read_controlControl state, related popups and active/selected options; preserves existing refs
- browser_waitRead-only checks with uniform expected/actual, pass/fail/unavailable and safe read retry; one top-level condition or `checks[]`
- browser_clickNative/DOM input, pointer hover and drag, option selection, character typing and scrolling
- browser_batchRun 1–30 click/fill/type/press_key/hover/scroll/select_option/wait steps in one queue; stops on the first failure and returns partial results
- browser_navigateHTTP(S)/file navigation, back/forward and load waiting; local destinations require file access
- browser_handle_dialogalert, confirm, prompt
- browser_upload_fileNative file input or an intercepted file chooser
- browser_screenshotViewport or full-page PNG with coordinate mapping
- browser_evaluateMain-page JS evaluation, promise awaiting, bounded results
- browser_logsRead `kind=console/network/navigation` with independent cursors; buffered reads survive blank or unresponsive pages
What the code can do
Read from the published package source — never executed. Parsed 50 of 50 source files.
This server can run other programs on your machine, read and write files and make network requests.
How it was published
- No provenance attestation — there is nothing linking this published artifact to a specific source commit.
- 1 npm maintainer — a single point of compromise · last published by evan_zhong.
Maintainer of this package and think something here is wrong? Tell us and we'll correct it.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit today — Actively maintained.
- Repository created 9 days ago — Very new project with little track record yet.
- 4 GitHub stars — Very little community usage so far.
- 5.3k weekly downloads — Regularly installed by other developers.
Client compatibility
Health score
A · 91Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%54%
4 stars, 5337 weekly downloads.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%100%
Package and registry entry point at the same repository.
- Packaging15%100%
Publishes a pinned version (0.32.0).
Documentation
Full READMEBrowserAttach
<strong>English</strong> · 简体中文
Drive the Chrome / Edge tabs you already have open and already signed in from an MCP client. BrowserAttach connects to the browser through a locally paired extension, keeps your existing sign-in state, and needs neither a remote debugging port nor a separate automation browser.
npm · Usage guide · Architecture · Agent integration · Test report · Issues · Contributing
What it does
- Discover multiple browser profiles, pick one precisely, claim a tab exclusively, and release it when done.
- Control existing ordinary
file://tabs after enabling BrowserAttach's Allow access to file URLs setting in the browser's extension details; use the same discovery, claim, observation and input tools. - Read the accessibility tree, query names/values/nearby field context, inspect field values and supported editor models; click, fill and type through refs or strict CSS/XPath, HTML label, placeholder and AX role/name locators. Type can also target the currently focused field explicitly.
- Native pointer hover, stepped drags and conditional waits; select HTML options without opening a native popup.
- Navigate and go back/forward, open or close tabs, handle JavaScript dialogs, upload local files, and capture the whole page or a single element.
- Evaluate JavaScript expressions in the main page; read console, page-error, network and navigation logs captured after claiming, with bounded available stacks and request initiators; opt in to bounded, redacted request/response details when XHR/fetch needs verification.
- Read one HTTP(S) URL in a temporary background tab with the profile's sign-in, returning rendered text, current DOM, or complete JSON with the main-document HTTP status when observed.
- Standard stdio MCP with 24 tools. The Hub listens on loopback only and pairs with the extension through a random key.
Requirements
- Node.js 22 or newer, plus npm.
- Chrome / Edge 125 or newer with permission to load unpacked extensions. Latest stable is recommended.
- An MCP client that speaks stdio MCP and can find Node/npm on
PATH.
Quick start
1. Install and pair
npm install --global @evan_zhong/browser-attach
browser-attach setupsetup prints a stable extension directory and starts the local Hub. The directory is usually:
- Windows:
%USERPROFILE%\.browser-attach\extension - macOS / Linux:
~/.local/share/browser-attach/extension
Open chrome://extensions or edge://extensions, enable developer mode, choose "Load unpacked" and load that directory. Load it once for every browser profile you want to expose; the extension options page lets you set a recognizable profile name.
Excerpt — the full document is on GitHub.
Alternatives to BrowserAttach
- Agent360 Browser MCPA · 92Drive your real, logged-in Chrome from any AI agent - 40 tools. Needs our Chrome extension too.
- crawlio-browserA · 85Bridge a live Chrome browser to your agent: 150 tools for capture, extraction, and observation.
- agent-browserB · 65A real Chromium browser agents pay for per action in USDC via x402 — hosted MCP, free local stdio.
- FreeApplyB · 74Free job-search agent: finds matching jobs, applies through your AI app, tracks it all locally.
Maintain BrowserAttach? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-evannzhongg-browser-attach)Catalog data refreshed . Something wrong? Report it.