Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Control existing signed-in Chrome and Edge tabs through a locally paired extension.
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
SettingsDeveloperEdit Config
{
"mcpServers": {
"browser-attach": {
"command": "npx",
"args": [
"-y",
"@evan_zhong/browser-attach",
"mcp"
]
}
}
}BrowserAttach を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が BrowserAttach を使っていると言うか、回答に BrowserAttach のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ BrowserAttach につなげません
BrowserAttach はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · BrowserAttach につなげるアプリを使う
B · ウェブ・ブラウザ の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user browser-attach -- npx -y @evan_zhong/browser-attach mcpBrowserAttach が一覧にあり、接続済みと表示されれば OK です
BrowserAttach を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が BrowserAttach を使っていると言うか、回答に BrowserAttach のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
BrowserAttach を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が BrowserAttach を使っていると言うか、回答に BrowserAttach のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Node.js を入れてください(1 回だけ)
BrowserAttach を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が BrowserAttach を使っていると言うか、回答に BrowserAttach のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Claude Code
claude mcp add --scope user browser-attach -- npx -y @evan_zhong/browser-attach mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"browser-attach": {
"command": "npx",
"args": [
"-y",
"@evan_zhong/browser-attach",
"mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"browser-attach": {
"command": "npx",
"args": [
"-y",
"@evan_zhong/browser-attach",
"mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"browser-attach": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@evan_zhong/browser-attach",
"mcp"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
npm: @evan_zhong/browser-attachこのサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント EvannZhongg で確認済みです
コードの最終更新:9 日前
MITを使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は9 日前、最新バージョン(0.33.0)がレジストリに届いたのは12 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Browser Use, Scrapling MCP Server, Chrome DevTools MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Web scraping with stealth HTTP, real browsers, and Cloudflare bypass. CSS selectors supported.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
English · 简体中文
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
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.PATH.npm install --global @evan_zhong/browser-attach
browser-attach setup
setup prints a stable extension directory and starts the local Hub. The directory is usually:
%USERPROFILE%\.browser-attach\extension~/.local/share/browser-attach/extensionOpen 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.
Or without a global install:
npx --yes --package=@evan_zhong/browser-attach@latest browser-attach setup
Merge the following into your client's MCP configuration, or see mcp-config.json:
{
"mcpServers": { "browser_attach": { "command": "npx", "args": ["--yes", "--package=@evan_zhong/browser-attach@latest", "browser-attach", "mcp"] } } }
On Windows clients that require a full command extension, use npx.cmd. With a global install you can also configure "command": "browser-attach", "args": ["mcp"]. Restart the MCP client to discover the tools.
@latest selects the package at launch; upgrading an existing pair is coordinated at startup. The first extension load, and pairs still on an older protocol, need one manual extension reload — see local data and upgrades.
Host entry points are collected in agent integration, and the connection parameters, JSON/TOML examples and verification steps are in the setup reference; other clients use the stdio entry above.
The npm package includes an optional browser-attach skill with setup, recovery and cross-site recipes. Copy the whole skills/browser-attach directory to your host's skill location if desired; npm installation does not register it with the host.
browser_discover(kind="browsers") → browser_discover(kind="tabs") to confirm the browser, tab title and URL.browser_claim_tab with the tab_id from discover(kind="tabs") (optional expected_url / expected_title exact guards) to take control and receive this connection's tab_handle.browser_snapshot to get element refs, then click, fill or run other actions.browser_tab_control(action="release"). Use snapshot(diff_since="latest") or action observe:{diff_since:"latest"} for page changes; inspect mode/reset_reason and finish pagination. A full-page refresh is not required after every action.When titles change often, omit expected_title and check the identity returned by claim instead. Elements may be addressed by ref or by a selector re-resolved on every call; design trade-offs: architecture notes.
Claiming and ordinary input never activate a tab or window; call browser_tab_control(action="activate") explicitly when foreground rendering is needed. When an outcome is unknown, observe again first and avoid duplicate submissions. Full parameters, pagination, uploads and input semantics: usage guide.
| Tool | Purpose |
|---|---|
browser_discover | kind=browsers/tabs; discover browser profiles, tab identity and control status |
browser_claim_tab | Exclusively claim a discovered tab |
browser_open_tab / browser_tab_control | Create a tab, optionally claim it with claim:true; explicit release/activate/close |
browser_fetch | Read 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_snapshot / browser_read_text | AX snapshot, literal name/value query with actionable refs, and page text |
browser_read_control | Control state, related popups and active/selected options; preserves existing refs |
browser_wait | Read-only checks with uniform expected/actual, pass/fail/unavailable and safe read retry; one top-level condition or checks[] |
browser_click / browser_hover / browser_drag / browser_select_option / browser_type / browser_fill / browser_press_key / browser_scroll | Native/DOM input, pointer hover and drag, option selection, character typing and scrolling |
browser_batch | Run 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_navigate | HTTP(S)/file navigation, back/forward and load waiting; local destinations require file access |
browser_handle_dialog | alert, confirm, prompt |
browser_upload_file | Native file input or an intercepted file chooser |
browser_screenshot | Viewport or full-page PNG with coordinate mapping |
browser_evaluate | Main-page JS evaluation, promise awaiting, bounded results |
browser_logs | Read kind=console/network/navigation with independent cursors; buffered reads survive blank or unresponsive pages |
| Platform | Default data directory |
|---|---|
| Windows | %USERPROFILE%/.browser-attach |
| macOS / Linux | ${XDG_DATA_HOME:-~/.local/share}/browser-attach |
Override it explicitly with the absolute path BROWSER_ATTACH_HOME. The Windows default avoids AppData, which packaged hosts may virtualize; no other host's private cache is searched or merged automatically. The directory holds the pairing configuration, Hub logs and the stable extension copy, and depends on neither the clone location, the client working directory nor the npm cache. If you already use a custom directory, keep using the same environment variable or --config instead of accidentally creating a second pairing under the new default.
A host assembly step that writes the client entry pins the absolute paths of the current Node, CLI and the actual pairing file and sets BROWSER_ATTACH_HOME; it works together with a custom --config. When the MCP launches the Hub it passes the same absolute pairing path and directory, so different launch environments cannot derive a second configuration. See agent integration.
To upgrade, install again with the command from step 1 and reconnect the MCP client. With @latest and a pair on 0.17 or newer the restart is enough; a pair still on an older protocol needs browser-attach stop, a restart and one manual extension reload. Custom pairing paths, ports and extension directories are retained, closed browser profiles update when they next connect, and an older MCP package cannot downgrade a newer Hub or installed extension.
An upgrade waits for extension cleanup and confirms the new version after reload; cleanup or reload failures are reported instead of replaying page actions. Manual reload remains available on the extension options page for recovery, and Hub and extension versions must match for page control. The default port is 47831; choose another port with setup --port when creating a pairing.
MCP client → Node.js stdio MCP → 127.0.0.1 Hub
↕ local pairing Chrome / Edge MV3 extension ↓ chrome.debugger / CDP existing HTTP(S) / authorized file:// tabs
Each MCP connection holds its own control and handles cannot be used across connections. Disconnecting or stopping debugging releases control. The client endpoint requires a Bearer key and rejects web page Origins; the extension verifies a fixed Origin, key and version. browser_evaluate can read and write data with the page's existing sign-in state; a timeout or error may already have had an effect and must not be replayed automatically. No generic CDP tool is exposed.
Logs are collected from claim time, survive navigation and are cleared on release, with bounded buffers that report data_loss on eviction. Buffered reads use the existing claim without requiring a supported or responsive current page; capture changes still require page access. Network logs store lifecycle metadata and available initiators by default; an explicit capture reads bounded, redacted headers/bodies of subsequent XHR/fetch requests without changing caches or intercepting traffic. Navigation requests and commits remain separate obser