Playwright 浏览器自动化 MCP

通过结构化页面快照让 MCP 客户端执行浏览器自动化。

Star 数
★ 38k
最近更新
1 天前
License
Apache-2.0
主语言
TypeScript

30 秒速览

运行形态
MCP 服务器自托管服务代码库 / SDK
可在哪里用
通用 · 跨平台Codex · Claude Code
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
Node.js 18 或更新版本Shell / 命令行网络访问本地文件系统MCP Server
典型场景
开发者让支持 MCP 的编码客户端打开本地或线上页面,并依据无障碍快照定位和操作控件。
不适合
  • 需要完全依赖截图和视觉模型操作网页的团队
  • 需要将 MCP 作为安全边界的部署

这个 Agent 能做什么,适合哪些场景?

Playwright MCP 是一个基于 Playwright 的 Model Context Protocol(MCP)服务器,让 LLM 通过结构化的无障碍快照与网页交互。默认安装方式是用 npx 启动 @playwright/mcp,客户端通过 MCP 调用浏览器工具。核心工具涵盖页面导航、快照、点击、表单填写、标签页管理,以及查看控制台和网络请求。浏览器可使用持久化配置、隔离会话或浏览器扩展连接现有会话;也可通过 HTTP/SSE 运行独立服务器,或在代码中创建连接。运行需要 Node.js 18 或更新版本,README 列出多种 MCP 客户端;服务器本身不构成安全边界。

客户端启动服务器后,Playwright MCP 使用 Playwright 操作浏览器,并将页面的无障碍结构作为快照返回,供后续工具调用定位目标。browser_navigate 打开 URL,browser_snapshot 获取页面快照,browser_click、browser_fill_form 和 browser_type 执行交互;browser_tabs 管理标签页。还可读取控制台消息和网络请求,并通过可选能力启用网络路由、存储管理或 DevTools 工具。操作结果以文本快照、消息或按配置保存的文件返回;截图工具也可返回页面图像。

  1. 开发者让支持 MCP 的编码客户端打开本地或线上页面,并依据无障碍快照定位和操作控件。
  2. 测试工程师在隔离浏览器会话中执行表单流程,并使用存储状态文件提供初始 cookies 与本地存储。
  3. 排查人员查看浏览器控制台消息或列出页面发出的网络请求,以调查交互问题。
  4. 自动化团队通过可选网络能力模拟 API 响应、切换离线状态并检查活动路由。
  5. 需要复用已登录浏览器会话的用户,通过 Playwright 扩展连接现有 Edge 或 Chrome 实例。

如何安装或部署这个 Agent?

需要 Node.js 18 或更新版本,以及一个 MCP 客户端。标准配置通过 npx 启动服务器,无需在配置中填写凭据:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

Codex CLI 也可用以下命令添加:

codex mcp add playwright npx "@playwright/mcp@latest"

首次启动时,客户端运行该配置并连接 Playwright MCP;浏览器会按默认配置启动。

如何使用这个 Agent?

在 MCP 客户端中启动名为 playwright 的服务器。先用 browser_navigate 打开目标 URL,再用 browser_snapshot 读取页面结构;从快照中选取目标引用后,调用 browser_click、browser_fill_form 或 browser_type 执行操作。需要独立 HTTP 服务时,可运行:

npx @playwright/mcp@latest --port 8931

客户端可配置连接其 MCP 端点:

{
  "mcpServers": {
    "playwright": {
      "url": "http://localhost:8931/mcp"
    }
  }
}

需要临时隔离会话时,可在启动参数中添加 --isolated;需要启用额外工具能力时,可使用 --caps 配置相应能力。

这个 Agent 有哪些优点和局限?

优点
  • 使用 Playwright 无障碍树生成结构化快照,核心交互不依赖视觉模型。
  • 提供可直接调用的导航、表单、标签页、控制台和网络请求工具。
  • 支持持久化浏览器配置、隔离会话、存储状态文件及连接现有浏览器扩展。
  • 除 MCP 客户端启动外,还记录了 HTTP/SSE 独立部署和程序化连接方式。
局限
  • 需要 Node.js 18 或更新版本及兼容的 MCP 客户端。
  • README 明确指出服务器不是安全边界;文件和网络访问限制也被说明为便利性防护。
  • 持久化配置同一时间只能由一个浏览器实例使用;并行客户端需要隔离模式或不同用户数据目录。
  • Docker 实现目前只支持无头 Chromium。

这个 Agent 与同类方案有什么区别?

README 将 MCP 方案与 Playwright CLI + SKILLS 对比:CLI 更节省 token,适合高吞吐编码工作流;MCP 更适合需要持久浏览器状态、页面结构检查和迭代推理的自动化场景。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Playwright 浏览器自动化 MCP 当前 60 · 存在缺口 MCP 服务器免费 ★ 38k 1 天前 TypeScript Codex · Claude Code
CamoFox Browser Server 72 · 存在缺口 自托管服务免费 ★ 425 28 天前 JavaScript Claude Code
Weaver 智能体平台 45 · 缺口较多 自托管服务免费 + 模型费 ★ 184 6 个月前 Python OpenAI API · Claude API
Agent Browser:面向 AI 代理的浏览器自动化 CLI 54 · 缺口较多 命令行工具免费 + 模型费 ★ 44k 1 天前 Rust —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
60/ 100 五分制 3.0 / 5
信任安全 16/29
可靠稳定 5/14
适用触发 12/18
规范维护 13/18
有效结果 9/13
证据核验 5/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

默认限制文件访问于工作区、阻止 file://、监听 localhost,并提供可选隔离、权限和来源限制,体现一定最小权限;但可显式开放文件、绑定所有接口、共享浏览器上下文,且来源限制明确不覆盖重定向。文档说明持久配置文件、存储状态、秘密文件及现有浏览器登录态,但没有说明秘密数据的存储保护或清理策略。浏览自动化可执行有副作用的操作,材料未显示逐次确认或回滚机制。依赖版本固定到 Playwright alpha,但没有依赖安全审查证据。出处由仓库、包元数据和许可证支持。

可靠稳定5 / 14 · 1.8/5

README 描述与包元数据、能力测试所示的 MCP 浏览器工具总体一致,并明确 Node.js 要求和超时选项。依赖中 Playwright 使用 alpha 版本,且运行需要 Node、浏览器及客户端环境;未给出离线或依赖故障恢复说明。所提供材料没有错误分类或面向用户的失败诊断证据,因此该项为零。CI 工作流展示了多平台和 Docker 测试配置,但本评估不据此声称测试已执行。

适用触发12 / 18 · 3.3/5

README 区分 MCP 与 CLI 的适用场景,并列出多种 MCP 客户端;配置支持浏览器、设备、快照、能力和传输相关选项。文件访问、来源策略及能力开关给出了明确边界,但存在显式放宽访问或 sandbox 的选项。触发范围聚焦于通过 MCP 对网页进行浏览器自动化;尚未充分说明不适用任务或不同风险等级下的选择建议。

规范维护13 / 18 · 3.6/5

README 按安装、配置、用户档案和初始状态组织内容,并提供许多客户端配置示例;配置表和用户档案段落也说明了部分限制。部分示例使用 @latest,降低了版本可复现性;提供的材料没有独立变更日志或兼容性政策。Apache-2.0 的许可证文件完整。仓库与包元数据明确指向 Microsoft,安全报告渠道和 CI/发布工作流说明了维护与更新责任。

有效结果9 / 13 · 3.5/5

结构化无障碍快照和 MCP 工具提供无需视觉模型的浏览器交互路径,能力测试示例与工具列表支持其具体效用。文档也指出 CLI 在编码代理场景中可能更省上下文,揭示了本方案的成本权衡。输出包含快照、代码和可选图像等形式,但材料未证明它们在不同任务中的质量或实际成本,因此不给满分。

证据核验5 / 8 · 3.1/5

主要功能、安装要求、配置选项和安全边界可在 README 中追溯;包元数据、许可证、测试定义与 CI 配置为若干声明提供交叉佐证。README 中的轻量、确定性和效率等描述仍属于项目声明,静态材料不能确认运行效果;CI 配置也不证明这些任务已成功执行。此结论区分了文档事实与未验证的性能推断。

风险与缓解建议
  • 若连接已有浏览器或使用持久配置文件,浏览器会保留登录态和站点数据;请审慎选择用户数据目录,并考虑使用隔离模式。
  • 来源允许列表不是安全边界且不覆盖重定向;绑定 0.0.0.0、开放文件访问或共享浏览器上下文会扩大访问范围。
  • 默认安装示例使用 @latest,而依赖包含 Playwright alpha 版本;需要稳定复现时应核对并固定具体发布版本。
证据充分度:低 评估于 2026年10月20日 审查版本 ab6d67cbf8b6
查看完整评分方法 →

常见问题

运行是否需要 API 密钥或付费模型?
安装配置展示了本地 npx 启动方式,没有列出模型 API 密钥要求或服务收费信息。
它如何确定要操作的页面元素?
默认通过结构化无障碍快照呈现页面内容,工具可使用快照引用或唯一选择器定位目标。
隔离会话会保留登录状态吗?
隔离会话关闭后会丢失该会话的存储状态;可以通过 --storage-state 加载初始状态。持久化配置则会保存浏览器数据。
可以直接复用已有的浏览器登录会话吗?
可以通过 Playwright MCP 浏览器扩展连接现有 Edge 或 Chrome 实例,但需要安装该扩展。
服务器能否作为安全边界使用?
不能。README 明确说明 Playwright MCP 不是安全边界,并指出相关主机、来源和文件访问限制不等同于安全防护。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents