Research Hub

Browser Automation MCP Server

Playwright MCP 调研报告

microsoft/playwright-mcp 是基于 Playwright 的 MCP server,让 LLM 通过结构化 accessibility snapshot 操作网页,而不是依赖截图或视觉模型。它适合需要持续浏览器状态、页面结构推理和自动化验证的 Agent 工作流。

MCP Playwright Node 18+ Not a security boundary
Playwright MCP GitHub 预览图
视觉素材:GitHub OpenGraph 预览图。

1. 结论摘要

核心价值

给 Claude Code、Codex、VS Code/Copilot、Cursor、Warp、Windsurf 等 MCP 客户端提供浏览器导航、点击、表单、网络、console、截图、storage、PDF、测试断言等能力。

使用边界

README 明确说明 Playwright MCP 不是安全边界。它能打开网页、执行 JavaScript、访问存储和文件,因此必须依靠客户端权限、隔离浏览器 profile、allow/block origins 和 workspace 限制。

32,675GitHub stars,调研时 API 返回值
v0.0.75最新 release,2026-05-07
54README 生成的工具名数量
Apache-2.0License

2. 当前状态

项目观察
仓库microsoft/playwright-mcp,默认分支 main,Apache-2.0。
NPM 包@playwright/mcppackage.json 版本为 0.0.75,入口命令 playwright-mcp
运行要求README 要求 Node.js 18+,支持 VS Code、Cursor、Windsurf、Claude Desktop、Goose、Junie 以及其他 MCP client。
技术选型使用 Playwright accessibility tree,强调结构化数据、轻量和确定性工具应用。
与 Playwright CLIREADME 说明 coding agents 可能更适合 CLI+SKILLS,因为 token 更省;MCP 更适合持久状态、富 introspection 和长循环。

3. 工具能力

核心交互

browser_navigatebrowser_clickbrowser_typebrowser_fill_formbrowser_select_optionbrowser_wait_for

调试与观测

browser_snapshotbrowser_console_messagesbrowser_network_requestsbrowser_start_tracingbrowser_stop_tracing

状态与文件

cookie、localStorage、sessionStorage、storage state、截图、PDF、视频、文件上传/拖放。

测试断言

browser_verify_text_visiblebrowser_verify_element_visiblebrowser_verify_valuebrowser_generate_locator

Vision / DevTools

可通过 --caps 启用 vision、pdf、devtools 等附加能力,默认应按需开启。

远程/独立服务

可用 --port 启动 HTTP/SSE transport,并在 MCP client 中配置 URL。

安装示例

# Claude Code
claude mcp add playwright npx @playwright/mcp@latest

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

# 通用 MCP 配置
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

4. 配置重点

参数用途建议
--isolated浏览器 profile 保存在内存,不落盘。默认优先,用于降低登录态和缓存泄露。
--allowed-origins / --blocked-origins限制浏览器请求的 origin。只允许测试目标域名;注意 README 说明它不构成安全边界。
--allow-unrestricted-file-access允许访问 workspace root 外文件和 file://。默认不要开启,除非明确需要。
--secrets用 dotenv 文件做响应中的明文替换。只作为便利措施,不是安全机制。
--headless无头浏览器。CI 和服务端适合;本地调试可用 headed。
--host / --port独立 server 监听地址。保持 localhost,避免 0.0.0.0 暴露给不可信网络。

5. 风险分析

浏览器即权限面

Agent 可访问登录态页面、读取 DOM、点击按钮、提交表单、执行 JavaScript。如果连接到真实个人浏览器或复用 profile,风险显著增加。

文件与存储泄露

上传、下载、storage state、cookie、trace、screenshot、video、PDF 都可能含敏感信息。输出目录应隔离,任务后清理。

网络越界

页面可跳转、重定向、请求第三方资源。allow/block origins 是便利 guardrail,不能代替网络隔离和 MCP client 权限控制。

npx @latest 供应链

README 默认使用 @latest。生产或敏感环境建议固定版本,并在升级前审查 release 和 package-lock。