让 AI Agent 操作网页一直是个难题。基于截图的方案需要视觉模型, token 消耗大且操作不精确;传统的 DOM 操作又太底层,Agent 很难理解页面结构。
Playwright MCP(github.com/microsoft/playwright-mcp)是微软官方推出的 Model Context Protocol 服务器,将 Playwright 的浏览器自动化能力标准化为 MCP 工具接口。Agent 通过可访问性树(accessibility tree)理解页面,而不是依赖截图或像素坐标——这意味着不需要视觉模型就能完成精确的网页交互。项目已有 31,775 星标,Apache-2.0 许可。
核心能力
Playwright MCP 的设计哲学很明确:结构化数据优于视觉猜测。
- 基于可访问性树:页面结构以结构化 JSON 形式传递给 Agent,每个可交互元素都有唯一标识。Agent 不需要”看”截图来猜按钮在哪里
- 确定性操作:通过元素引用而非坐标点击,避免了截图方案中常见的偏移和误触
- 轻量高效:不需要加载大型视觉模型,token 消耗大幅降低
- 多客户端支持:VS Code、Cursor、Windsurf、Claude Desktop、Goose、Junie 等 MCP 客户端均可接入
与 CLI 方案的取舍
微软在 README 中坦诚地对比了 MCP 和 CLI 两种方案的适用场景:
- CLI + SKILLs:适合高吞吐量的编码 Agent,通过精简命令避免加载大量工具描述和可访问性树,在有限上下文窗口内平衡浏览器自动化与代码推理
- MCP 服务器:适合需要持久状态、丰富页面探查和迭代推理的场景,如探索性自动化、自愈测试或长时间运行的自主工作流
简而言之:如果你的 Agent 需要快速执行少量网页操作,CLI 更省 token;如果需要持续与复杂网页交互,MCP 提供的持久上下文更有价值。
快速上手
# 在 MCP 客户端配置中添加(以 Cursor/Claude 为例)
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
# 或在 Claude Code 中直接运行
claude mcp add playwright -- npx @playwright/mcp@latest
# 需要 Node.js 18+
配置完成后,Agent 即可获得 browser_navigate、browser_click、browser_snapshot 等工具,直接在你的对话中操作浏览器。
支持的工具
Playwright MCP 提供包括页面导航、点击、输入、截图、可访问性快照获取在内的完整浏览器操作集。结合 Agent 的推理能力,可以完成表单填写、数据抓取、流程测试等任务。
观察点
项目由微软 Playwright 团队直接维护,最近完成了仓库扁平化为单包布局的架构调整,版本已迭代至 0.0.71。与微软同期推出的 Playwright CLI + SKILLS 形成互补——MCP 面向持续交互场景,CLI 面向高效单次调用场景。如果你的 Agent 工作流涉及浏览器操作,这两个项目值得一起评估。