微软官方 MCP 服务器,给 Agent 一个真实浏览器——用可访问性树驱动,而非截图。

安装

$ npx -y @playwright/mcp

Playwright MCP 是什么?

Playwright MCP 是微软官方的 LLM Agent 与真实浏览器之间的桥梁,底层是 Playwright 自动化引擎。它最关键的设计决策是用结构化的可访问性树快照来表示页面,而不是截图:Agent 读到的是每个可交互元素的文本描述,并按引用直接操作元素——比基于视觉的浏览方式省 token 得多,行为也更确定。

工具面很宽——导航、点击、输入、填表、上传文件、标签页管理、网络请求检查与 mock、Cookie/存储控制,还有按需开启的坐标视觉模式、PDF 导出、tracing 和测试风格的断言。默认走 stdio,也可以加 --port 参数作为独立 HTTP 服务运行,适配无头和远程场景。需要 Node 18+ 和 Playwright 管理的浏览器。

实践中它已经成了"我的 Agent 需要看网页"这个问题的默认答案:调试 Agent 刚改过的前端、填表单、抓取 JavaScript 渲染的内容、探索性 QA。README 里说得很直白:它不是安全边界——Agent 能做你浏览器会话能做的一切,指向哪些站点要自己掂量。

核心能力

  • 可访问性树快照替代截图——元素定位确定性强,每页消耗的 token 少得多
  • 完整浏览器控制:导航、表单、上传、标签页、对话框、网络 mock、Cookie 与存储
  • 按需开启的能力开关:视觉模式、PDF 导出、tracing/录像、测试断言
  • 默认 stdio 对接本地客户端,也可作为独立 HTTP 服务跑在无头/远程环境
  • 由微软 Playwright 团队维护——引擎、浏览器、选择器语义与 Playwright 测试完全一致

什么时候该用它

当 Agent 需要和真实网页交互时选 Playwright MCP——验证它刚改的 UI、自动化重表单的流程、排查只在浏览器里复现的 bug。在各类浏览器 MCP 服务器里,它是最稳的默认选项,因为微软基于真正的 Playwright 引擎在维护。但不要用它来写常规的 Playwright 测试套件(直接写脚本更好——每个动作过一遍 MCP 往返太慢),不要用于大规模爬取(用 Playwright 脚本),也不要用在"Agent 在你浏览器会话里失控会造成实际损失"的场景:它明确不是安全边界。

替代方案

常见问题

怎么把 Playwright MCP 加到 Claude Code?

运行 `claude mcp add playwright -- npx @playwright/mcp@latest`。需要 Node 18 及以上;首次使用时如果缺浏览器,Playwright 会提示安装。之后 Agent 就能打开页面、获取可访问性快照、直接操作元素。可以通过 `--headless` 等参数或配置文件控制浏览器类型、视口大小和允许访问的域名。

Playwright MCP 用的是截图还是可访问性树?

默认是可访问性树。每次快照是页面的结构化文本描述,带可操作的元素引用——不需要视觉模型,token 消耗也远低于图片。对于可访问性树覆盖不到的页面(比如重度使用 canvas 的 UI),有一个按需开启的坐标视觉模式作为补充。

Playwright MCP 可以放心对任何网站使用吗?

要像把浏览器交给别人一样谨慎。项目文档明确说它不是安全边界:Agent 能点击、提交、下载会话能触达的一切。缓解手段包括配置允许/屏蔽的域名列表、在隔离的浏览器 profile 里无头运行,以及避免使用登录了敏感账号的会话。

星标数据更新于 2026-07-02 · 每周从 GitHub API 自动刷新 · 浏览全部工具 →