Purpose
Browser MCP solves the problem of automation tools being unable to continue working on websites that require login, CAPTCHAs, or two-factor authentication. Traditional Playwright or Puppeteer get blocked when encountering CAPTCHAs, 2FA, or anti-bot mechanisms, whereas Browser MCP directly drives your already-logged-in Chrome—using your cookies, session, and 2FA, so it bypasses these obstacles in a way that looks like "you browsing in person." It lets you use an AI assistant to operate internal dashboards without APIs, admin panels, portals, LinkedIn, Reddit, and other platforms, and also to perform end-to-end QA on your own web apps.
Main Capabilities
- 40 browser tools: covering navigation, content reading, screenshots, script execution, clicking, filling input fields, waiting, tab management, and more.
- Multi-session concurrency: supports up to 20 agents running simultaneously, with each session getting a color-coded Chrome tab group, independent tab ownership, and sessions being able to see and control only their own tabs.
- Human-in-the-loop mechanism: when encountering steps that require you to complete yourself, such as login walls, CAPTCHAs, or 2FA codes, it asks on your screen, then continues the same logged-in Chrome session.
- Real event detection: tools verify whether the page actually received the event, rather than simply trusting Chrome's confirmation, avoiding silent failures. For example, clicks reject 0×0 elements and explain why.
- Built-in provider integrations:
browser_extract_tokenopens the provider's API page and returns instructions for finding or creating credentials. - Multi-environment support: supports MCP clients such as Claude Code, Cursor, VS Code, Codex, Windsurf, and Cline.
- Automatic cleanup: after a session ends or Claude Code closes the conversation, the process exits automatically, and the port is released 5 minutes after the last tab is closed.
How to Use
Installation has two parts, both of which are required: a Chrome extension (which drives the browser) and a local MCP server (the object the agent actually communicates with). If you only install the extension without registering the server, the extension will keep showing "not connected."
Automatic Setup
Paste the following prompt to your AI assistant (Claude Code, Cursor, Codex, VS Code, Windsurf, Cline):
Set up Browser MCP for me. Read https://browsermcp.dev/llms-install.md and follow it for whichever AI client you are running in. One step only I can do - tell me which one, and wait for me. When I confirm, call browser_list_tabs to prove both halves are talking.
If the URL cannot be opened, you can run:
npx @agent360/browser-mcp install
Either way, there is always one step you need to complete manually: Chrome does not allow extensions to install themselves, so you need to load the extension manually once.
Manual Installation
- Install the Chrome extension: one-click installation from the Chrome Web Store, and Chrome will update it automatically. You can also use an unpacked installation (see below).
- Add the MCP server: paste the following command in the terminal (required; the extension cannot work by itself):
claude mcp add --scope user browser-mcp -- npx @agent360/browser-mcp@latest
For Cursor / VS Code / Codex, use that client's own MCP configuration. You can also manually add it to ~/.claude.json:
{ "mcpServers" : { "browser-mcp" : { "command" : " npx " , "args" : [ " @agent360/browser-mcp@latest " ] } } }
- Restart Claude Code: this will start the server. The extension icon will not show a badge before step 4—the server only occupies a port when your agent actually uses the browser for the first time. After that, a green badge will appear showing the number of connected agents.
- Verify: send this to Claude Code:
Open example.com and take a screenshot.
If it returns an image instead of "I don't have browser access," it is running successfully.
Unpacked Installation (without npm or if you want to load it manually)
Run the following command to copy the extension files to ~/.browser-mcp/extension/:
npx @agent360/browser-mcp install
It will print that path in the terminal, and if Claude Code, Codex, VS Code, and Cursor are detected, it will also automatically register the server.
Then in Chrome:
- Open
chrome://extensions - Open "Developer mode" in the top right corner
- Click "Load unpacked"
- In the file picker, navigate to
~/.browser-mcp/extension/and select it- Mac: press
Cmd+Shift+G, paste~/.browser-mcp/extension/, press Enter - Windows: paste
%USERPROFILE%\.browser-mcp\extension\in the address bar (Windows not yet verified, automated tests do not pass) - Linux: enter
~/.browser-mcp/extension/in the path field
- Mac: press
- Restart Claude Code so it recognizes the new MCP server
Alternative: manually download the zip (no npm required)
- Download the extension zip from the latest GitHub release (
agent360-browser-mcp-<version>.zip) - Extract it to any location
- Load the extracted folder as in step 2 above
- Register the server: run
claude mcp add --scope user browser-mcp -- npx @agent360/browser-mcp@latest
Chrome Web Store installation (no developer mode required, automatic updates)
This only replaces step 2; step 1 still needs to be performed.
- Install the extension from the Chrome Web Store
- Register the MCP server:
claude mcp add --scope user browser-mcp -- npx @agent360/browser-mcp@latest - Restart Claude Code
Use cases
- Internal dashboards, admin panels, and portals without an API
- Social platforms that require login, such as LinkedIn and Reddit
- End-to-end QA of your own web applications
- Automated workflows that require human confirmation of sensitive steps (such as payments or publishing content)
- Continue automation on CAPTCHA / 2FA websites
- Scenarios that require running multiple agents at the same time, each browsing independently
Limitations and known issues
- Background tab input: In tabs you are not viewing, the agent can navigate, read, take screenshots, run scripts, click, and fill fields found via CSS selectors. However, Chrome does not deliver mouse and keyboard events to non-visible tabs, so key presses, hovering, double-clicking, right-clicking, coordinate clicks, combo box input, and finding fields by text will all fail and report errors. Since 1.30.2, calling
browser_switch_tabmakes that tab the active tab in its window, but does not bring Chrome in front of you; only usingbring_to_front: truedoes. - Cannot fully input in the background: Chrome does not deliver mouse or keyboard input to non-visible tabs; this is a measured result, not a problem that can be fixed. CSS
:hoveris renderer-owned state and cannot be faked by scripts; events dispatched by scripts are neverisTrusted;elementFromPointstops at cross-origin iframes; the text selection produced by a real double-click is browser behavior rather than an event. - Windows not verified: Automated tests do not pass on Windows.
- Remote machines: The extension only connects to
127.0.0.1, it will not communicate with a remote WebSocket. If the MCP gateway and the browser are on different machines, the port range needs to be forwarded via SSH. - Port range: default 9876-9895, 20 in total. It can be adjusted via environment variables and extension storage, but both sides must match. The hard upper limit is 200. Each additional port produces one rejected connection every two seconds.
- Concurrency count: by default, at most 20 agents; it is configurable, but the server and extension sides must be modified at the same time and the extension reloaded.
Technical details
- Workflow: Claude Code starts → generates the MCP server via stdio → binds the first free port (9876-9895) the first time a browser is needed → the extension's offscreen document scans ports every 2 seconds → establishes a WebSocket connection → command flow: Claude Code → MCP → extension → Chrome API → the process exits automatically.
- Session isolation: each session gets a color-coded Chrome tab group and can only see and control its own tabs.
- License: MIT, free, runs locally, no account, no telemetry.
- Updates: if using an unpacked installation, rerun the installation command and reload the extension; if using the Chrome Web Store, updates are automatic.
Differences from other solutions
Playwright MCP's README lists 72 tools (counted as of 2026-09-19), but not one of them can stop and ask a human for a CAPTCHA. Browser MCP's core advantage lies in human intervention and real logged-in sessions. The similarly named browsermcp.io (@browsermcp/mcp) is another unrelated project and has had no commits since April 2025. This project is maintained by Agent360 (@agent360/browser-mcp)。