核心交互
browser_navigate、browser_click、browser_type、browser_fill_form、browser_select_option、browser_wait_for。
Browser Automation MCP Server
microsoft/playwright-mcp 是基于 Playwright 的 MCP server,让 LLM 通过结构化 accessibility snapshot 操作网页,而不是依赖截图或视觉模型。它适合需要持续浏览器状态、页面结构推理和自动化验证的 Agent 工作流。
给 Claude Code、Codex、VS Code/Copilot、Cursor、Warp、Windsurf 等 MCP 客户端提供浏览器导航、点击、表单、网络、console、截图、storage、PDF、测试断言等能力。
README 明确说明 Playwright MCP 不是安全边界。它能打开网页、执行 JavaScript、访问存储和文件,因此必须依靠客户端权限、隔离浏览器 profile、allow/block origins 和 workspace 限制。
| 项目 | 观察 |
|---|---|
| 仓库 | microsoft/playwright-mcp,默认分支 main,Apache-2.0。 |
| NPM 包 | @playwright/mcp,package.json 版本为 0.0.75,入口命令 playwright-mcp。 |
| 运行要求 | README 要求 Node.js 18+,支持 VS Code、Cursor、Windsurf、Claude Desktop、Goose、Junie 以及其他 MCP client。 |
| 技术选型 | 使用 Playwright accessibility tree,强调结构化数据、轻量和确定性工具应用。 |
| 与 Playwright CLI | README 说明 coding agents 可能更适合 CLI+SKILLS,因为 token 更省;MCP 更适合持久状态、富 introspection 和长循环。 |
browser_navigate、browser_click、browser_type、browser_fill_form、browser_select_option、browser_wait_for。
browser_snapshot、browser_console_messages、browser_network_requests、browser_start_tracing、browser_stop_tracing。
cookie、localStorage、sessionStorage、storage state、截图、PDF、视频、文件上传/拖放。
browser_verify_text_visible、browser_verify_element_visible、browser_verify_value、browser_generate_locator。
可通过 --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"]
}
}
}
| 参数 | 用途 | 建议 |
|---|---|---|
--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 暴露给不可信网络。 |
Agent 可访问登录态页面、读取 DOM、点击按钮、提交表单、执行 JavaScript。如果连接到真实个人浏览器或复用 profile,风险显著增加。
上传、下载、storage state、cookie、trace、screenshot、video、PDF 都可能含敏感信息。输出目录应隔离,任务后清理。
页面可跳转、重定向、请求第三方资源。allow/block origins 是便利 guardrail,不能代替网络隔离和 MCP client 权限控制。
README 默认使用 @latest。生产或敏感环境建议固定版本,并在升级前审查 release 和 package-lock。