Playwright-MCP
Playwright MCP 是一个基于 Model Context Protocol(MCP)的浏览器自动化服务器,它让大语言模型(LLM)能够通过结构化的方式与网页交互,无需视觉模型即可操控浏览器。
你可以把它理解为一个"AI浏览器助手",它把 Playwright 强大的自动化能力封装成标准工具,供 AI 模型调用。比如,你只需告诉 AI:"登录这个网站并截图首页",它就能自动完成导航、输入表单、点击按钮、截图保存等一系列操作。
核心优势与工作原理
基于无障碍树(Accessibility Tree)
默认使用页面的语义化结构(而非截图)作为输入,大幅降低 token 消耗,任何纯文本 LLM 都能"看懂"网页。
跨浏览器支持
支持 Chromium、Firefox、WebKit,还能模拟移动设备(如 iPhone 13)进行测试。
无头或有头模式运行
可在后台静默执行任务(无头模式),也可显示浏览器界面便于调试。
与 AI 工作流无缝集成
可接入 Cursor、VS Code + GitHub Copilot、Claude Desktop 等支持 MCP 的客户端,实现自然语言驱动的自动化。
Playwright-MCP和Playwright的关系
Playwright 是一个强大的浏览器自动化库,而 Playwright MCP 是基于 Playwright 构建的、专为 AI 模型设计的远程控制接口,它让大语言模型能通过自然语言指令直接操控浏览器。
你可以这样理解它们的关系:
Playwright 是"发动机",提供了驱动浏览器的核心能力,比如打开页面、点击按钮、输入文本、截图等。
Playwright MCP 是"智能遥控器",它把 Playwright 的各项功能封装成标准化的工具(Tools),让 AI 模型可以通过 MCP 协议发送指令来调用这些功能。
关键区别与协同方式
|-------|----------------------------|----------------------------|
| 维度 | Playwright | Playwright MCP |
| 使用对象 | 开发者(写代码) | AI 模型(自然语言指令) |
| 交互方式 | 编写脚本 (Python/JS/Java/.NET) | 通过 MCP 客户端发送 JSON-RPC 请求 |
| 执行环境 | 本地或 CI/CD 中运行测试脚本 | 作为服务常驻运行,等待 AI 调用 |
| 输入依赖 | 代码中硬编码选择器或逻辑 | 基于页面的无障碍树(a11y tree)动态识别元素 |
| 典型场景 | 编写端到端测试、爬虫 | AI 自动化操作网页、生成测试用例、验证行为 |
工作流程简述
1、启动 Playwright MCP 服务器,它会启动一个浏览器实例并等待连接。
2、支持 MCP 的 AI 客户端(如 GitHub Copilot、Claude Desktop)连接到该服务器。
3、用户用自然语言下达指令,例如:"打开百度,搜索'AI 浏览器自动化',截图结果页"。
4、AI 模型将指令解析为对 Playwright MCP 提供的工具调用,如 navigate, fill, click, screenshot。
5、Playwright MCP 执行具体操作,并将结果(如截图路径、文本内容)返回给 AI,最终生成自然语言回应。
这种架构使得非技术人员也能完成复杂的网页操作,同时避免了传统自动化中常见的视觉识别误差和高成本问题。