← 返回目录
P

Playwright MCP

官方
微软官方 Playwright 浏览器自动化 MCP Server
分类
浏览器自动化 第 1 / 32
Stars
★ 38.3k 非常热门
传输方式
stdio(本地进程)
运行环境
Node.js 18+ · Docker
凭据
无需凭据
许可证
Apache-2.0
最近提交
工具数
10
78FMRS · B

微软官方维护,工具设计上用无障碍树快照替代截图分析,是目前浏览器自动化 MCP 中文档最完整、生态支持客户端最多的实现之一。评分基于源码与文档静态核验,未实际完成运行验证。

最强项 · 文档质量 18/20 最弱项 · 安全与权限 12/20

可靠性
13/20
安全与权限
12/20
维护活跃度
18/20
文档质量
18/20
安装易用性
17/20

实测已过期收录于 2026-07-24

查看 FMRS 评分方法 →

选型与风险

能访问什么写入 / 删除本地文件执行命令或代码访问网络控制浏览器

适合谁

  • 需要让 AI 助手实际操作浏览器完成任务的场景
  • 网页自动化测试和端到端验证

不适合谁

  • 只需要静态网页文本抓取(用轻量爬虫工具更合适)
  • 对浏览器资源占用敏感、无法运行完整浏览器内核的环境

所需权限

  • 需要在本地或服务器上安装并运行浏览器内核(Chromium/Firefox/WebKit)
  • browser_navigate 可访问任意 URL,browser_evaluate 可在页面上下文执行任意 JavaScript

风险与副作用

  • browser_evaluate 执行任意脚本存在被恶意页面利用的风险,建议只在受信任站点或隔离环境中启用
  • 长时间运行的浏览器实例会占用较多内存和 CPU

安装接入

准备工作

运行环境:Node.js 18+ · Docker

其他可选配置项(46 个)
PLAYWRIGHT_MCP_ALLOWED_HOSTS 可选 允许的服务主机列表,等价于 --allowed-hosts 参数。
PLAYWRIGHT_MCP_ALLOWED_ORIGINS 可选 浏览器可请求的受信任来源列表,等价于 --allowed-origins 参数。
PLAYWRIGHT_MCP_ALLOW_UNRESTRICTED_FILE_ACCESS 可选 是否允许访问工作区之外的文件和 file:// URL,等价于 --allow-unrestricted-file-access。
PLAYWRIGHT_MCP_BLOCKED_ORIGINS 可选 禁止浏览器请求的来源列表,等价于 --blocked-origins。
PLAYWRIGHT_MCP_BLOCK_SERVICE_WORKERS 可选 是否屏蔽 service worker,等价于 --block-service-workers。
PLAYWRIGHT_MCP_BROWSER 可选 使用的浏览器或通道(chrome/firefox/webkit/msedge),等价于 --browser。
PLAYWRIGHT_MCP_CAPS 可选 要启用的附加能力列表(vision/pdf/devtools),等价于 --caps。
PLAYWRIGHT_MCP_CDP_ENDPOINT 可选 要连接的 CDP 端点地址,等价于 --cdp-endpoint。
PLAYWRIGHT_MCP_CDP_HEADERS 可选 连接 CDP 时发送的请求头,等价于 --cdp-header。
PLAYWRIGHT_MCP_CDP_TIMEOUT 可选 连接 CDP 端点的超时(毫秒),等价于 --cdp-timeout。
PLAYWRIGHT_MCP_CODEGEN 可选 代码生成语言(typescript/python/java/csharp/none),等价于 --codegen。
PLAYWRIGHT_MCP_CONFIG 可选 JSON 配置文件路径,等价于 --config。
PLAYWRIGHT_MCP_CONSOLE_LEVEL 可选 返回的控制台消息级别(error/warning/info/debug),等价于 --console-level。
PLAYWRIGHT_MCP_DEVICE 可选 要模拟的设备(如 "iPhone 15"),等价于 --device。
PLAYWRIGHT_MCP_MOBILE 可选 是否模拟通用移动设备,等价于 --mobile。
PLAYWRIGHT_MCP_EXECUTABLE_PATH 可选 浏览器可执行文件路径,等价于 --executable-path。
PLAYWRIGHT_MCP_EXTENSION 可选 是否连接正在运行的浏览器实例(需装 Playwright 扩展),等价于 --extension。
PLAYWRIGHT_MCP_ENDPOINT 可选 要连接的浏览器远程端点,等价于 --endpoint。
PLAYWRIGHT_MCP_GRANT_PERMISSIONS 可选 授予浏览器上下文的权限列表(如 geolocation),等价于 --grant-permissions。
PLAYWRIGHT_MCP_HEADLESS 可选 是否以无头模式运行浏览器,等价于 --headless。
PLAYWRIGHT_MCP_HOST 可选 服务器绑定的主机,等价于 --host。
PLAYWRIGHT_MCP_IGNORE_HTTPS_ERRORS 可选 是否忽略 HTTPS 错误,等价于 --ignore-https-errors。
PLAYWRIGHT_MCP_INIT_PAGE 可选 在每个页面对象上执行的 TypeScript 初始化文件路径,等价于 --init-page。
PLAYWRIGHT_MCP_INIT_SCRIPT 可选 作为页面初始化脚本的 JavaScript 文件路径,等价于 --init-script。
PLAYWRIGHT_MCP_ISOLATED 可选 是否使用内存中的隔离浏览器配置,等价于 --isolated。
PLAYWRIGHT_MCP_IMAGE_RESPONSES 可选 是否向客户端发送图片响应(allow/omit),等价于 --image-responses。
PLAYWRIGHT_MCP_NO_SANDBOX 可选 是否禁用进程沙箱,等价于 --no-sandbox。
PLAYWRIGHT_MCP_OUTPUT_DIR 可选 输出文件保存目录,等价于 --output-dir。
PLAYWRIGHT_MCP_OUTPUT_MAX_SIZE 可选 旧输出文件逐出阈值(字节),等价于 --output-max-size。
PLAYWRIGHT_MCP_PORT 可选 SSE/HTTP 传输监听端口,等价于 --port。
PLAYWRIGHT_MCP_PROXY_BYPASS 可选 绕过代理的域名列表,等价于 --proxy-bypass。
PLAYWRIGHT_MCP_PROXY_SERVER 可选 代理服务器地址,等价于 --proxy-server。
PLAYWRIGHT_MCP_SANDBOX 可选 是否为通常不沙箱的进程启用沙箱,等价于 --sandbox。
PLAYWRIGHT_MCP_SAVE_SESSION 可选 是否把 MCP 会话保存到输出目录,等价于 --save-session。
PLAYWRIGHT_MCP_SECRETS_FILE 可选 dotenv 格式的密钥文件路径,用于替换工具响应中的敏感文本,等价于 --secrets。
PLAYWRIGHT_MCP_SHARED_BROWSER_CONTEXT 可选 HTTP 客户端之间是否共享同一浏览器上下文,等价于 --shared-browser-context。
PLAYWRIGHT_MCP_SNAPSHOT_BOXES 可选 快照中是否包含元素包围盒,等价于 --snapshot-boxes。
PLAYWRIGHT_MCP_SNAPSHOT_MODE 可选 快照模式(full/none),等价于 --snapshot-mode。
PLAYWRIGHT_MCP_STORAGE_STATE 可选 隔离会话的存储状态文件路径,等价于 --storage-state。
PLAYWRIGHT_MCP_TEST_ID_ATTRIBUTE 可选 测试 ID 属性名(默认 data-testid),等价于 --test-id-attribute。
PLAYWRIGHT_MCP_TIMEOUT_ACTION 可选 操作超时(毫秒,默认 5000),等价于 --timeout-action。
PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION 可选 导航超时(毫秒,默认 60000),等价于 --timeout-navigation。
PLAYWRIGHT_MCP_TIMEOUT_SETTLE 可选 每次操作后的等待稳定时间(毫秒,默认 500),等价于 --timeout-settle。
PLAYWRIGHT_MCP_USER_AGENT 可选 自定义 User-Agent 字符串,等价于 --user-agent。
PLAYWRIGHT_MCP_USER_DATA_DIR 可选 浏览器用户数据目录路径,等价于 --user-data-dir。
PLAYWRIGHT_MCP_VIEWPORT_SIZE 可选 浏览器视口大小(如 "1280x720"),等价于 --viewport-size。

通过 npx 直接运行 @playwright/mcp@latest,首次运行会自动下载所需的浏览器内核。也支持 --browser(指定 chromium/firefox/webkit)、--headless、--isolated(隔离用户配置)等参数,具体见仓库 README。

claude_desktop_config.json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add playwright -- npx @playwright/mcp@latest

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

安装后在客户端工具列表中应出现 browser_navigate、browser_snapshot 等 Playwright 工具;让模型执行 browser_navigate 打开任意网址,若返回页面快照即说明连接成功。

常见排障

  1. 浏览器内核缺失:首次运行确保网络可访问 Playwright 的浏览器下载地址
  2. 元素定位失败:优先使用 browser_snapshot 返回的稳定引用而非坐标点击
  3. 无头模式下页面渲染异常:尝试关闭 --headless 排查是否为环境相关问题

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 打开 https://example.com 并给我页面的可访问性快照
  • 截取当前页面的屏幕截图并保存为 home.png
  • 在搜索框里输入“playwright”然后点击提交按钮
  • 列出本次页面加载以来的所有网络请求

工具能力 10

browser_click 写入
在网页上点击指定元素
browser_close 写入
关闭当前页面
browser_console_messages 只读
获取浏览器控制台消息
browser_navigate 写入
导航到指定 URL
browser_snapshot 只读
获取页面无障碍树快照,用于定位元素
browser_type 写入
在输入框中输入文本
browser_take_screenshot 只读
对当前页面截图
browser_fill_form 写入
批量填写表单字段
展开其余 2 个工具
browser_evaluate 写入
在页面上下文中执行 JavaScript
browser_network_requests 只读
查看页面发出的网络请求

使用场景

自动化测试网页交互流程并生成可复现的操作步骤
抓取需要 JS 渲染的动态网页内容
让 AI 助手代为填写表单、点击按钮完成网页任务
调试网页时查看控制台报错和网络请求

支持客户端

Claude Desktop
Claude Code
VS Code
Cursor
Windsurf
JetBrains IDEs
Zed
Cline
Amp
Kiro
LM Studio
Antigravity
Goose

依据项目文档列出,未经本站实测。

详细介绍

微软官方维护,基于 Playwright 的浏览器自动化 MCP Server。通过无障碍树(accessibility tree)快照而非截图像素分析来理解页面结构,让 AI 助手能够可靠地点击、输入、导航、截图、读取控制台和网络请求,无需视觉模型也能精确操作网页。

同类可选方案

源版本 b8b4183e099f 数据同步于 2026-10-19 查看 FMRS 评分方法