Browser MCP

Browser MCP

Enables AI agents to drive your real, logged-in Chrome browser with existing sessions and cookies, bypassing CAPTCHA and anti-bot measures, with support for multi-session and human-in-the-loop workflows.

Category
访问服务器

README

Browser MCP by Agent360

npm version npm downloads GitHub stars License: MIT MCP Chrome Web Store

Your AI agent drives your real, logged-in Chrome — and works where headless tools die.

Browser MCP Demo

▶ Watch the 37-second demo with sound →

Browser MCP gives Claude Code (and any MCP client — Cursor, VS Code agent mode) control of your actual Chrome: your cookies, your sessions, your 2FA. So it works on CAPTCHA, 2FA and anti-bot sites where Playwright and Puppeteer get blocked — because it's you browsing.

The killer move: it hits a login wall, reads the verification code from your own Gmail tab, and continues the sign-in. No API can do that. Operate platforms with no API, QA your own web app end-to-end, or work dashboards, LinkedIn and Reddit at human pace — with you approving the sensitive steps.

34 tools. Auto-clicks the reCAPTCHA v2 checkbox, with a human fallback for the rest. Multi-session color-coded tab groups. MIT, free, and 100% local — nothing leaves your machine.

Install — 2 steps (~60 seconds)

Step 1: Configure the MCP server

npx @agent360/browser-mcp install

This copies the Chrome extension files to ~/.browser-mcp/extension/ and adds the MCP server to your Claude Code config. You'll see the path to the extension folder printed in the terminal — copy it.

Step 2: Load the extension in Chrome

Chrome won't let extensions install themselves from npm — you load it manually one time. To update later, re-run the install command and reload it (see Keeping it updated). Prefer the Chrome Web Store install if you'd rather have the extension auto-update.

  1. Open Chrome and type chrome://extensions in the address bar
  2. Toggle "Developer mode" ON (top right corner)
  3. Click "Load unpacked" (top left, next to "Pack extension")
  4. Navigate to ~/.browser-mcp/extension/ and click "Select"
    • On Mac: Press Cmd+Shift+G in the file picker, paste ~/.browser-mcp/extension/, press Enter
    • On Windows: Paste %USERPROFILE%\.browser-mcp\extension\ in the address bar
    • On Linux: Type ~/.browser-mcp/extension/ in the path field
  5. Restart Claude Code so it picks up the new MCP server

That's it. The Browser MCP icon will appear in your toolbar, and 34 browser tools are now available in Claude Code.

Alternative: Manual zip download (no npm)

If you don't want to use npm, download the extension directly:

  1. Download browser-mcp-v1.25.0.zip from the latest GitHub release
  2. Unzip the file (anywhere — e.g. ~/Downloads/browser-mcp-extension/)
  3. Follow Step 2 above, but select the unzipped folder instead of ~/.browser-mcp/extension/
  4. Configure Claude Code manually by adding this to your ~/.claude.json (or run npx @agent360/browser-mcp install --skip-extension):
    {
      "mcpServers": {
        "browser-mcp": {
          "command": "npx",
          "args": ["@agent360/browser-mcp"]
        }
      }
    }
    

Chrome Web Store (one-click install)

Install from Chrome Web Store →

No Developer mode needed. Then run npx @agent360/browser-mcp install --skip-extension to configure Claude Code.

Why This Over Playwright MCP / BrowserMCP?

Browser MCP Playwright MCP BrowserMCP.io
Browser Your real Chrome Headless (new session) Your real Chrome
Maintained Actively — v1.25.0 this week Actively (Microsoft) Last commit Apr 2025
Logins/cookies Already authenticated Must log in every time Already authenticated
Multi-session 10 concurrent sessions with color-coded tab groups Single session Single session
Human-in-the-loop browser_ask_user — 2FA, CAPTCHA, credential input None None
Provider integrations 9 built-in (Stripe, HubSpot, Slack...) None None
CORS bypass browser_fetch from extension background N/A Limited
Network monitoring browser_wait_for_network via CDP Built-in None
CSP-strict sites Chrome Debugger API throughout Works (headless) Limited
Custom dropdowns Angular Material, React Select support Works (headless) Limited
Install npx @agent360/browser-mcp install npx @playwright/mcp Manual clone

On the name: the similarly-named browsermcp.io (@browsermcp/mcp) is a different, unaffiliated project with no commits since April 2025. This is Browser MCP by Agent360 (@agent360/browser-mcp) — actively maintained. Full side-by-side →

34 Tools

Navigation & Content

Tool Description
browser_navigate Navigate to URL (reuses tab, or new_tab=true)
browser_get_page_content Get page text or HTML
browser_screenshot Screenshot via Chrome Debugger (works even when tab isn't focused)
browser_execute_script Run JavaScript in page context

Interaction

Tool Description
browser_click Click via CSS or text selector (text=Submit, button:text(Next))
browser_fill Fill input fields (works on CSP-strict sites)
browser_press_key Keyboard events (Enter, Tab, Escape, modifiers)
browser_scroll Scroll to element or by pixels
browser_wait Wait for element to appear
browser_hover Hover for tooltips/dropdowns
browser_select_option Native <select> + custom dropdowns (Angular Material, React Select)
browser_set_combobox Autocomplete/combobox: type query → wait for filtered listbox → click option (multi-value chip support). Use when browser_select_option fails on lazy-rendered options
browser_set_date Robust date inputs: tries native value-set → masked typing → calendar-picker navigation (MUI/AntD/react-datepicker/Lexical). Use when browser_fill fails on date fields
browser_dismiss_overlays Bulk-dismiss popups/modals/tooltips/banners via aria-label/text/×-char heuristics. non_critical mode preserves dialogs with form data
browser_handle_dialog Accept/dismiss native alert/confirm/prompt dialogs

Tabs & Frames

Tool Description
browser_list_tabs List session's tabs only
browser_switch_tab Switch to tab by ID
browser_close_tab Close tab (session-owned only)
browser_get_new_tab Get most recently opened tab (OAuth popups)
browser_list_frames List iframes on page
browser_select_frame Execute JS in specific iframe

Data & Network

Tool Description
browser_get_cookies Get cookies for domain
browser_get_local_storage Read localStorage
browser_fetch HTTP request from extension (bypasses CORS)
browser_wait_for_network Wait for specific API call to complete
browser_extract_token Navigate to provider dashboard + extract API token

CAPTCHA Solving

Tool Description
browser_solve_captcha Detect and solve CAPTCHAs. Auto-detects reCAPTCHA v2/v3, hCaptcha, Turnstile, FunCaptcha. Actions: detect, click_checkbox (auto-click, often passes when signed into Google), click_grid (AI vision guided), ask_human (fallback)

Human-in-the-Loop

Tool Description
browser_ask_user Show overlay dialog for 2FA, CAPTCHA, credentials, or any user input

Data

Tool Description
browser_get_cookies Get cookies for a domain
browser_set_cookies Set cookies for a domain
browser_get_local_storage Read localStorage from page
browser_set_local_storage Write localStorage values
browser_console_logs Capture console.log/warn/error messages from page
browser_upload_file Upload files to <input type="file"> via Chrome Debugger API (no dialog)
browser_drop_file Upload via drop-zones: finds hidden <input type="file"> in target subtree/parent (up to 2 levels). Use when browser_upload_file fails because the zone has no visible input

Multi-Session Support

Each Claude Code conversation gets its own MCP server on a unique port (9876-9885). The Chrome extension connects to all active servers simultaneously.

Claude Session 1 ←(stdio)→ MCP :9876 ←(WS)→
Claude Session 2 ←(stdio)→ MCP :9877 ←(WS)→  Chrome Extension → Browser
Claude Session 3 ←(stdio)→ MCP :9878 ←(WS)→
  • Session isolation — each session gets a color-coded Chrome Tab Group
  • Tab ownership — sessions can only see and control their own tabs
  • Auto-cleanup — processes exit when Claude Code closes the conversation

Built-in Provider Integrations

browser_extract_token navigates to the provider's API settings page and guides token extraction:

Provider Token Format Dashboard
Stripe sk_test_... / sk_live_... stripe.com/apikeys
HubSpot pat-... app.hubspot.com
Slack xoxb-... api.slack.com/apps
Shopify Admin API token admin.shopify.com
Pipedrive UUID app.pipedrive.com
Calendly JWT calendly.com
Mailchimp ...-us1 admin.mailchimp.com
Google OAuth Client console.cloud.google.com
LinkedIn Client ID/Secret linkedin.com/developers

Architecture

extension/
  manifest.json       # Manifest V3
  background.js       # Service worker — Chrome API dispatcher, session tab groups
  offscreen.js        # Persistent WebSocket bridge (multi-port scanning)
  popup.html/js       # Status UI — sessions, tabs, action log

mcp-server/
  index.js            # MCP server (stdio) + WebSocket client
  tools.js            # 34 tool definitions
  bin/cli.js          # Install CLI

How It Works

  1. Claude Code starts → spawns MCP server via stdio
  2. MCP server binds to first available port (9876-9885)
  3. Extension's offscreen document scans ports every 2s
  4. WebSocket connection established
  5. Commands flow: Claude Code → MCP → Extension → Chrome APIs
  6. Process auto-exits when Claude Code closes (stdin detection)

Keeping it updated

Browser MCP has two parts, and they update independently — how the extension updates depends on how you installed it:

Part Install method How it updates
MCP server any Automatic. Runs via npx @agent360/browser-mcp@latest, so every Claude Code session pulls the newest from npm. Nothing to do.
Extension Chrome Web Store Automatic. Chrome updates it in the background (usually within a few hours). Nothing to do.
Extension Unpacked (npx … install or manual zip) Manual. Chrome never auto-updates a load-unpacked extension. Re-run npx @agent360/browser-mcp install, then open chrome://extensions → Browser MCP → ↻ reload.

Not sure which you have? Open chrome://extensions and find Browser MCP. If it shows a "Loaded from /path/…" line, it's unpacked (manual updates). If there's no such line, it came from the Chrome Web Store (auto-updates).

Want zero-maintenance updates? Install the extension from the Chrome Web Store, then run npx @agent360/browser-mcp install --skip-extension to wire up just the MCP server. After that, both parts stay current on their own.

Troubleshooting

"Chrome extension not connected"

  • Check extension is loaded in chrome://extensions
  • Click the extension popup → "Reconnect"
  • Wait 2-3 seconds for port scan

Screenshot fails

  • Uses Chrome Debugger API (works even when tab isn't focused)
  • Falls back to captureVisibleTab if debugger unavailable

Click doesn't work on SPA

  • Try text selector: browser_click("text=Submit")
  • Uses real mouse events via Chrome Debugger API automatically

Stale processes

  • Processes auto-exit when Claude Code closes (stdin detection)
  • Idle timeout: 4 hours without commands → auto-exit
  • Manual cleanup: lsof -i :9876-9885 | grep LISTEN

💡 Help Shape Browser MCP

Browser MCP is built in the open and shaped by the people using it.

Browse what others want / built

  • 💡 Wishlist → — features people are asking for
  • 🎯 Use-cases → — what others have built (LinkedIn ICP scraping, vendor research, daily ops, …)

Contribute in 30 seconds

Or just ask Claude — it knows about the browser_about tool and will draft + submit on your behalf when you say things like "I wish browser-mcp could …" or "share my browser-mcp use-case".

License

MIT — Agent360

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选