Control your real Chrome from Claude Code. 29 tools with CAPTCHA solving and multi-session.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Your AI agent drives your real, logged-in Chrome โ and works where headless tools die.
โถ 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.
41 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.
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.
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.
chrome://extensions in the address bar~/.browser-mcp/extension/ and click "Select"
Cmd+Shift+G in the file picker, paste ~/.browser-mcp/extension/, press Enter%USERPROFILE%\.browser-mcp\extension\ in the address bar~/.browser-mcp/extension/ in the path fieldThat's it. The Browser MCP icon will appear in your toolbar, and 34 browser tools are now available in Claude Code.
If you don't want to use npm, download the extension directly:
browser-mcp-v1.25.0.zip from the latest GitHub release~/Downloads/browser-mcp-extension/)~/.browser-mcp/extension/~/.claude.json (or run npx @agent360/browser-mcp install --skip-extension):
Install from Chrome Web Store โ
No Developer mode needed. Then run npx @agent360/browser-mcp install --skip-extension to configure Claude Code.
| 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 โ
| 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 |
| 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 |
| 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 |
| 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 |
| 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) |
| Tool | Description |
|---|---|
browser_ask_user | Show overlay dialog for 2FA, CAPTCHA, credentials, or any user input |
| 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 |
Each Claude Code conversation gets its own MCP server on a unique port (9876-9885). The Chrome extension connects to all active servers simultaneously.
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 |
| OAuth Client | console.cloud.google.com | |
| Client ID/Secret | linkedin.com/developers |
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.
"Chrome extension not connected"
chrome://extensionsScreenshot fails
captureVisibleTab if debugger unavailableClick doesn't work on SPA
browser_click("text=Submit")Stale processes
lsof -i :9876-9885 | grep LISTENBrowser MCP is built in the open and shaped by the people using it.
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".
MIT โ Agent360
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/browser-mcp)<a href="https://allmcps.com/mcp/browser-mcp"><img src="https://allmcps.com/api/badge/browser-mcp?style=directory" alt="Browser Mcp on AllMCPs" /></a>