mcp
让 AI 像真人一样操控你的真实浏览器,复用登录态、低延迟、无需新建实例
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 像真人一样操控你的真实浏览器,复用登录态、低延迟、无需新建实例
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Browser MCP 官方 Banner
想象一下:你在用 Claude 写代码,突然想查一下某篇技术文档的某个细节。传统做法是:切换窗口 → 打开浏览器 → 搜索 → 定位 → 复制回来。而现在,你只需要对 AI 说一句"帮我查一下这个函数的官方文档",AI 就会自己打开浏览器、导航到正确页面、阅读内容,然后把答案带回来——就像一位坐在你工位旁的助手,默默帮你完成了所有操作。
这就是 Browser MCP 正在做的事:它不是一个聊天机器人,而是一套让 AI 直接操控浏览器的基础设施。通过 Model Context Protocol(MCP)协议,Browser MCP 将浏览器变成 AI 的"手和眼睛",使 AI 应用能够完成传统 API 难以企及的复杂 Web 自动化任务。
传统的浏览器自动化工具,无论是 Selenium、Playwright 还是 Puppeteer,都需要开发者手动编写操作脚本:点击哪个按钮、等待几秒、提取什么元素。这对于固定流程的测试任务足够用,但当 AI 需要动态决定下一步操作时,这种预设剧本的方式就完全失效了。
AI 需要的是:能够理解网页内容、自主规划操作步骤、实时响应页面变化的通用浏览器控制能力。而传统的 headless browser(无头浏览器)方案面临三个根本性问题:一是会创建新的浏览器实例,用户已登录的账号状态无法复用;二是网站可以通过浏览器指纹检测将其识别为机器人;三是额外的网络延迟影响 AI 实时响应的体验。
Browser MCP 正是为了解决这三个痛点而生。它的核心思路非常巧妙——不是让 AI 控制一个独立的自动化浏览器,而是让 AI 通过 MCP 协议接入用户真实使用的 Chrome 浏览器,复用已有的登录状态和 Cookie,同时通过 WebSocket 实时通信降低延迟。
Browser MCP 提供了一套完整的浏览器自动化工具集,分为三大类:
通用操作工具:包括 navigate(导航到指定 URL)、go_back(后退)、press_key(按键)、wait(等待)等基础原子操作。这些工具封装了 Playwright 底层能力,提供给 AI 调用——但与 Playwright MCP server 不同的是,这些操作作用于用户真实的浏览器而非新建实例。
自定义 JavaScript 执行工具:通过 evaluate 工具,AI 可以在当前页面执行任意 JavaScript 代码,直接操作 DOM、读取页面状态或触发交互。这赋予了 AI 最大的灵活性——理论上任何能通过 JS 完成的浏览器操作,AI 都能执行。
快照与截图工具:snapshot 系列工具(get_accessibility_tree、get_a11y_tree、get_dom_tree、get_clipboard、get_form_controls)将当前页面的可访问性树、DOM 结构、表单控件等信息提取为结构化数据,供 AI 理解页面布局和内容。相比原始 HTML,结构化的可访问性信息更易于 AI 理解和决策。screenshot 工具则提供视觉反馈。
从代码结构来看,Browser MCP 采用了经典的 MCP Server 架构。整体分为三层:
协议层(src/server.ts):基于 @modelcontextprotocol/sdk 构建标准的 MCP Server,注册了 ListToolsRequestSchema、CallToolRequestSchema 等核心请求处理器。当 AI 应用(如 Claude Desktop)调用工具时,请求首先到达 MCP Server,再分发给具体工具处理器。
通信层(src/ws.ts):通过 WebSocket 与 Chrome 扩展建立双向通信。MCP Server 本身支持 stdio 和 WebSocket 两种传输方式,Browser MCP 选择了 WebSocket——这使得浏览器扩展可以作为 MCP 客户端与远端的 MCP Server 保持长连接,实现低延迟的实时指令下发和结果回传。
工具层(src/tools/):所有浏览器自动化逻辑封装在此目录。其中 common.ts 实现通用操作(导航、按键、等待);custom.ts 实现自定义 JS 执行和截图;snapshot.ts 实现页面结构信息提取。工具接收 MCP 协议格式的参数,返回标准化的结果。
Chrome 扩展(不在此仓库,托管于 monorepo):这是 Browser MCP 架构中最关键的一环。Chrome 扩展运行在用户真实的浏览器中,负责:建立 WebSocket 连接与 MCP Server 通信;注入内容脚本拦截和执行 AI 的指令;使用浏览器原生 API 操控网页 DOM;复用用户的登录状态、Cookie 和浏览器指纹。
整个系统的数据流是:Claude/Cursor 等 AI 应用 → MCP 协议 → MCP Server(Node.js)→ WebSocket → Chrome 扩展 → 真实浏览器。浏览器执行结果沿原路返回,AI 获得反馈后继续决策下一步。
Browser MCP 的部署需要两个组件协同工作:
MCP Server 安装:通过 npm 或 pnpm 全局安装 @browsermcp/mcp 包,配置到 Claude Desktop 或 Cursor 的 MCP 设置中,指定 stdio 或 WebSocket 传输方式。安装过程非常标准化,npm 用户无需额外学习成本。
Chrome 扩展安装:需要从 Chrome Web Store 或 GitHub Releases 安装 Browser MCP 扩展,并在浏览器中授权必要的权限(标签页访问、脚本注入等)。首次使用时,AI 发出的导航指令需要用户在浏览器中手动确认,以防止意外操作。
配置完成后,AI 应用就能"看到"用户浏览器的状态了。你可以让 Claude 帮你填写表单、搜索内容、截取信息——所有操作都在你真实登录的浏览器上下文中进行。
Browser MCP 固然强大,但也存在明显的局限。首先是隐私风险:AI 拥有了你真实浏览器的控制权,理论上可以访问所有已登录网站的数据。这要求用户对 AI 应用有足够的信任——一旦 AI 行为异常或被恶意提示词注入,后果可能很严重。
其次是确认机制的摩擦:为了防止 AI 误操作,每次关键操作(如导航到新页面、执行自定义 JS)都需要用户手动确认。这在安全性和效率之间形成了张力——过于严格的确认会打断工作流,过于宽松则带来安全隐患。
第三是Chrome 扩展的单浏览器限制:目前 Browser MCP 仅支持 Chrome 和 Edge,用户若使用 Firefox 或 Safari 则无法享受这一能力。不过从技术角度看,扩展支持其他浏览器并非不可逾越的障碍。
最后,Playwright MCP 的影子:Browser MCP 官方承认借鉴了微软的 Playwright MCP server 的设计理念。从技术演进角度看,这是一个站在巨人肩膀上的改进方案,而非从零开始的创新——这对项目的新颖性是一个小小的折扣。
Browser MCP 的出现,折射出一个更大的趋势:AI Agent 正在从"文本对话"走向"真实世界操作"。早期的 AI 助手只能处理文本,而 MCP 协议和 Browser MCP 这类工具,正在将浏览器、文件系统、API 接口一个个纳入 AI 的控制范围。
从技术演进路径来看,这遵循了 Agent 系统的经典范式:感知→规划→执行→反馈。Browser MCP 提供的是感知(页面快照)和执行(浏览器操作)环节,而真正的智能决策仍由上游 AI 模型完成。它不是一个"智能体",而是一套让 AI 拥有四肢的基础设施。
对于开发者而言,Browser MCP 打开了新的可能性:可以用自然语言描述复杂的 Web 工作流,让 AI 自动完成;可以构建基于真实网页内容的 RAG 管道;可以让 AI 帮你完成需要登录态的自动化报告生成。Browser MCP 的 Star 增长曲线(6,500+ 并持续上升)说明社区对这类"AI + 真实环境交互"工具有强烈的需求。
Browser MCP 是一款将 AI 与真实浏览器深度绑定的 MCP 服务器,它的核心价值在于:复用用户真实浏览器上下文、实现低延迟的实时自动化、通过 MCP 协议标准降低集成门槛。虽然面临隐私和安全的挑战,但其技术思路清晰、工程实现扎实,代表了 AI Agent 走向真实世界操作的重要方向。对于希望在 Web 自动化场景中引入 AI 能力的开发者,Browser MCP 是目前最值得关注的开源方案之一。