mcp-server-browserbase
让 AI 通过 MCP 协议操控真实浏览器,自动执行网页导航、内容提取与自动化操作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 通过 MCP 协议操控真实浏览器,自动执行网页导航、内容提取与自动化操作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Browserbase MCP Server 工作原理示意
想象一下:你对 AI 说「帮我查一下今天 GitHub 热榜第一是什么项目」,AI 就能自动打开浏览器、输入网址、点击链接、抓取数据——整个过程不需要你触碰鼠标。这不是科幻小说,而是 browserbase/mcp-server-browserbase 正在解决的核心问题。
在 AI 应用的版图中,大语言模型(LLM)天生是个「文本大师」,却是个「网页盲人」——它们能处理文字,却无法直接操作浏览器。传统的解决方案是让 AI 调用搜索 API,但这只能获取搜索结果,无法完成「登录 GitHub → 找到某个仓库 → 复制最新 commit hash」这类多步骤、跨页面的复杂任务。
Browserbase 公司(一家专注于云端浏览器自动化的初创公司)正是看准了这个痛点,推出了 Stagehand(AI 浏览器操作框架)和对应的 MCP Server,让 LLM 能够以标准化协议(MCP)控制真实浏览器。
browserbase/mcp-server-browserbase 是 Model Context Protocol(MCP)的官方服务端实现之一,全称可译为「Browserbase MCP 服务器」。它使得 AI 应用能够通过 MCP 协议,远程操控运行在 Browserbase 云端的 Chrome 浏览器实例,完成网页导航、内容提取、自动化操作等任务。
通俗地说,这是一个「AI 浏览器控制中继器」——你告诉 AI「要做什么」,它把指令转发给云端真实浏览器执行,再把结果返回给 AI。这与直接用 Playwright/Puppeteer 编程的区别在于:整个交互逻辑由 LLM 驱动,而不是预先写死的代码。
MCP(Model Context Protocol)是 Anthropic 在 2024 年底开源的 LLM 上下文扩展协议,类似于 USB 接口之于硬件——只要设备支持 USB,任何电脑都能用。它定义了 AI 模型与外部工具之间「说什么、怎么说」的标准格式,让同一个 MCP Server 可以被 Claude Desktop、Cursor、Windsurf 等多种 AI 客户端无缝调用。
该项目严格遵循 MCP 协议规范,实现了完整的 STDIO(标准输入/输出)和 SHTTP(Server-Sent HTTP)两种传输层,使得它既能在本地通过命令行调用,也能在服务器端通过 HTTP 提供远程服务。
该项目暴露了 6 个 MCP 工具,每个工具对应一种浏览器操作能力:
start:创建或复用 Browserbase 云会话,相当于「打开浏览器」。Browserbase 的多会话管理支持容器化隔离执行,安全性高。navigate:导航到指定 URL,执行网页跳转。act:对页面上的元素执行操作(如点击、输入文字),基于 Stagehand 的视觉大模型(Gemini)自动识别目标元素,无需精确坐标。observe:观察页面上的可交互元素,让 AI「看到」页面上有哪些按钮、表单、链接可用。extract:根据自然语言指令提取页面数据,比如「提取所有商品的价格」——AI 会自动理解页面结构并返回结构化结果。end:关闭当前会话,释放云端资源。这套工具集的设计逻辑非常清晰:从开浏览器、浏览网页、操作交互,到提取数据、关闭会话,覆盖了完整的使用流程。
| 组件 | 技术选型 | 说明 |
|---|---|---|
| 主语言 | TypeScript | 类型安全,生态成熟 |
| MCP SDK | @modelcontextprotocol/sdk ^1.13.1 | Anthropic 官方 |
| 浏览器引擎 | Playwright | 支持 Chromium/Firefox/WebKit |
| AI 视觉 | Stagehand + Gemini | LLM 驱动元素识别 |
| 云浏览器 | Browserbase | 托管式无头浏览器 |
| 包管理 | pnpm | 快速的 Node.js 包管理 |
| 构建 | TypeScript Compiler (tsc) | 编译到 dist/ |
| 测试 | Vitest | 轻量级测试框架 |
| 发布 | npm (@browserbasehq/mcp) | 可 npx 直接运行 |
src/
index.ts # 入口文件
server.ts # MCP 服务器主逻辑
program.ts # CLI 程序入口
config.ts # 环境变量配置解析
context.ts # 浏览器会话上下文
sessionManager.ts # 多会话管理
transport.ts # STDIO/SHTTP 传输层切换
mcp/ # MCP 协议工具定义
tools/ # 6 个工具的实现
types/ # TypeScript 类型定义
模块化设计清晰,工具定义与业务逻辑分离,每个工具独立实现,便于维护和扩展。
该项目提供三种部署路径,从易到难:
方式一(推荐):直接使用官方托管服务
最简单,只需在 AI 客户端配置文件中添加一行 URL:
{
"mcpServers": {
"browserbase": {
"type": "http",
"url": "https://mcp.browserbase.com/mcp"
}
}
}
Browserbase 官方托管服务提供完整的 Gemini API 集成(Stagehand 默认使用 Gemini 2.0 Flash 作为视觉模型),无需自己申请 Gemini Key。但注意:这会产生 Browserbase + Gemini 双向云服务费用。
方式二:自托管 STDIO 模式(npm 安装)
npm install -g @browserbasehq/mcp
mcp-server-browserbase
适合在本地 AI 工具(如 Claude Desktop)中使用,需要配置 BROWSERBASE_API_KEY、BROWSERBASE_PROJECT_ID 和 GEMINI_API_KEY 三个环境变量。
方式三:自托管 Docker(完整容器化)
git clone https://github.com/browserbase/mcp-server-browserbase
cd mcp-server-browserbase
docker build -t mcp-server-browserbase .
docker run -e BROWSERBASE_API_KEY=xxx -e BROWSERBASE_PROJECT_ID=xxx -e GEMINI_API_KEY=xxx mcp-server-browserbase
Dockerfile 采用多阶段构建(Node 22 Alpine 构建层 + GCR Distroless 运行时),镜像体积小、安全性强。server.json 中还提供了 OCI 镜像路径 browserbasehq/mcp-server-browserbase,可直接用 docker pull 拉取预构建镜像。
为什么是 Gemini 而不是 GPT-4? Stagehand 团队在 stagehand.dev/evals 上发布了基准测试结果,Gemini 2.0 Flash 在浏览器自动化任务上的表现优于 GPT-4o 和 Claude 3.5 Sonnet,且速度更快、成本更低。因此该项目默认使用 Gemini。
Session 复用机制:sessionManager.ts 实现了会话池管理,可以复用同一个 Browserbase Session,避免每次操作都创建新容器,节省启动延迟和云服务费用。
STDIO vs SHTTP 传输层:STDIO 适合本地工具调用,通过 stdin/stdout 通信;SHTTP 适合服务端部署,支持 HTTP 长连接。server.json 中明确声明了两种传输方式的配置模板。
eval 基准测试:项目内置了 evals/ 目录,包含三套测试配置(basic/minimal/full),用于自动化评估 MCP Server 在真实浏览器任务上的成功率。这体现了 Browserbase 团队对产品交付质量的重视。
browserbase/mcp-server-browserbase 的出现,是 MCP 生态系统蓬勃发展的一个缩影。MCP 协议的开源和推广,让「AI 连接世界」这件事变得标准化、可组合——同一个工具可以被不同的 AI 应用使用,形成正反馈生态。
从 Browserbase 公司战略角度看,发布开源 MCP Server 既是在扩大用户基数(让更多开发者试用 Browserbase 云浏览器),也是在推动整个 AI + 浏览器自动化赛道的发展。当更多 AI 应用需要操控浏览器时,Browserbase 作为底层基础设施的价值就会凸显。
该项目 Star 数达到 3364,说明 AI 开发者对「AI 浏览器自动化」这一方向有强烈需求。可以预见,随着 AI Agent 技术的成熟,类似的浏览器控制工具会越来越多,而 MCP 协议有望成为事实标准。
本报告基于 GitHub 仓库公开信息生成,分析时间:2026-06-03。数据来源:GitHub API、README.md、源代码。