用途
Browser MCP 解决的是自动化工具在需要登录、验证码或双重验证的网站上无法继续工作的问题。传统的 Playwright 或 Puppeteer 在遇到 CAPTCHA、2FA 或反爬机制时会被阻止,而 Browser MCP 直接驱动你已登录的 Chrome——使用你的 Cookie、会话和 2FA,因此它以“你本人在浏览”的方式绕过这些障碍。它让你用 AI 助手操作没有 API 的内部仪表板、管理面板、门户网站、LinkedIn、Reddit 等平台,也能对自己的 Web 应用进行端到端 QA。
主要能力
- 40 个浏览器工具:涵盖导航、内容读取、截图、执行脚本、点击、填写输入框、等待、标签页管理等。
- 多会话并发:最多支持 20 个智能体同时运行,每个会话获得一个颜色编码的 Chrome 标签组,拥有独立的标签所有权,会话之间只能看到和控制自己的标签。
- 人类介入机制:遇到登录墙、CAPTCHA、2FA 代码等需要你本人完成的步骤时,它会在你的屏幕上询问,然后继续同一个已登录的 Chrome 会话。
- 真实事件检测:工具会验证页面是否真正收到了事件,而不是单纯相信 Chrome 的确认,避免无声失败。例如,点击会拒绝 0×0 的元素并说明原因。
- 内置提供商集成:
browser_extract_token会打开提供商的 API 页面,并返回寻找或创建凭据的说明。 - 多环境适配:支持 Claude Code、Cursor、VS Code、Codex、Windsurf、Cline 等 MCP 客户端。
- 自动清理:会话结束或 Claude Code 关闭对话后,进程会自动退出,端口在最后一个标签关闭后 5 分钟释放。
使用方式
安装分为两个部分,缺一不可:一个 Chrome 扩展(驱动浏览器)和一个本地 MCP 服务器(智能体实际通信的对象)。仅安装扩展而不注册服务器,扩展会一直显示“未连接”。
自动设置
将以下提示粘贴给 AI 助手(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.
如果无法打开 URL,可运行:
npx @agent360/browser-mcp install
无论哪种方式,始终有一步需要你手动完成:Chrome 不允许扩展自行安装,因此你需要手动加载一次扩展。
手动安装
- 安装 Chrome 扩展:从 Chrome Web Store 一键安装,Chrome 会自动更新。也可以使用未打包安装(见下文)。
- 添加 MCP 服务器:在终端粘贴以下命令(必需,扩展自身无法工作):
claude mcp add --scope user browser-mcp -- npx @agent360/browser-mcp@latest
对于 Cursor / VS Code / Codex,使用该客户端自己的 MCP 配置。也可以手动添加到 ~/.claude.json:
{ "mcpServers" : { "browser-mcp" : { "command" : " npx " , "args" : [ " @agent360/browser-mcp@latest " ] } } }
- 重启 Claude Code:这会启动服务器。扩展图标在步骤 4 之前不会显示徽章——服务器只会在你的智能体第一次真正使用浏览器时占用端口。之后会出现一个绿色徽章,显示已连接智能体的数量。
- 验证:向 Claude Code 发送:
Open example.com and take a screenshot.
如果返回一张图片而不是“我没有浏览器访问权限”,说明已经运行成功。
未打包安装(不使用 npm 或希望手动加载)
运行以下命令将扩展文件复制到 ~/.browser-mcp/extension/:
npx @agent360/browser-mcp install
它会在终端打印该路径,同时如果检测到 Claude Code、Codex、VS Code 和 Cursor,也会自动注册服务器。
然后在 Chrome 中:
- 打开
chrome://extensions - 打开右上角的“开发者模式”
- 点击“加载已解压的扩展程序”
- 在文件选择器中导航到
~/.browser-mcp/extension/并选择- Mac:按
Cmd+Shift+G,粘贴~/.browser-mcp/extension/,按回车 - Windows:在地址栏粘贴
%USERPROFILE%\.browser-mcp\extension\(Windows 尚未验证,自动化测试不通过) - Linux:在路径字段输入
~/.browser-mcp/extension/
- Mac:按
- 重启 Claude Code,使其识别新的 MCP 服务器
替代:手动下载 zip(无需 npm)
- 从最新 GitHub release 下载扩展 zip(
agent360-browser-mcp-<version>.zip) - 解压到任意位置
- 按上述步骤 2 加载解压后的文件夹
- 注册服务器:运行
claude mcp add --scope user browser-mcp -- npx @agent360/browser-mcp@latest
Chrome Web Store 安装(无需开发者模式,自动更新)
这仅替代步骤 2,步骤 1 仍需执行。
- 从 Chrome Web Store 安装扩展
- 注册 MCP 服务器:
claude mcp add --scope user browser-mcp -- npx @agent360/browser-mcp@latest - 重启 Claude Code
适用场景
- 没有 API 的内部仪表板、管理面板、门户网站
- LinkedIn、Reddit 等需要登录的社交平台
- 对自己的 Web 应用进行端到端 QA
- 需要人类确认敏感步骤的自动化流程(如支付、发布内容)
- 在 CAPTCHA / 2FA 网站上继续自动化
- 需要同时运行多个智能体、各自独立浏览的场景
限制与已知问题
- 后台标签页输入:在你不查看的标签页中,智能体可以导航、读取、截图、运行脚本、点击和填写通过 CSS 选择器找到的字段。但 Chrome 不会向非可见标签页传递鼠标和键盘事件,因此按键、悬停、双击、右键、坐标点击、组合框输入以及通过文本查找字段都会失败并报告错误。自 1.30.2 起,调用
browser_switch_tab会使该标签页成为其窗口中的活动标签,但不会把 Chrome 带到你面前;只有使用bring_to_front: true才会。 - 无法完全后台输入:Chrome 不向非可见标签页传递鼠标或键盘输入,这是测量结果,不是可以修复的问题。CSS
:hover是渲染器拥有的状态,脚本无法伪造;脚本分发的事件永远不是isTrusted;elementFromPoint在跨源 iframe 处停止;真实双击产生的文本选择是浏览器行为而非事件。 - Windows 未验证:自动化测试在 Windows 上不通过。
- 远程机器:扩展只连接
127.0.0.1,不会与远程 WebSocket 通信。如果 MCP 网关与浏览器在不同机器上,需要通过 SSH 转发端口范围。 - 端口范围:默认 9876-9895,共 20 个。可以通过环境变量和扩展存储调整,但两侧必须一致。硬上限为 200。每个额外端口每两秒产生一次被拒绝的连接。
- 并发数量:默认最多 20 个智能体,可配置但需同时修改服务器和扩展端并重载扩展。
技术细节
- 工作流程:Claude Code 启动 → 通过 stdio 生成 MCP 服务器 → 首次需要浏览器时绑定第一个空闲端口(9876-9895)→ 扩展的 offscreen 文档每 2 秒扫描端口 → 建立 WebSocket 连接 → 命令流:Claude Code → MCP → 扩展 → Chrome API → 进程自动退出。
- 会话隔离:每个会话获得颜色编码的 Chrome 标签组,只能看到和控制自己的标签。
- 许可证:MIT,免费,本地运行,无账户、无遥测。
- 更新:如果使用未打包安装,重新运行安装命令并重新加载扩展;如果使用 Chrome Web Store,自动更新。
与其他方案的区别
Playwright MCP 的 README 列出 72 个工具(截至 2026-09-19 统计),但没有一个能停下来向人询问验证码。Browser MCP 的核心优势在于人类介入和真实已登录会话。名称相似的 browsermcp.io(@browsermcp/mcp)是另一个无关项目,自 2025 年 4 月起没有提交。本项目由 Agent360 维护(@agent360/browser-mcp)。