@bearbuild/playwright-mcp

中文文档
1.0.2发布于 2026/10/08Apache-2.0TypeScriptESM + CJS近 30 天下载 1.1万

Cloudflare Playwright 工具用于 MCP( 熊建叉)

中文使用文档
文档目录8 节
  1. Cloudflare 剧作家 MCP
  2. 概览
  3. 建设和部署
  4. 用 Cloudflare AI 游戏场
  5. 与 Claude 桌面使用
  6. 在 VSCode 中配置
  7. 用光标
  8. 工具模式

Cloudflare 剧作家 MCP

Deploy to Cloudflare

概览

该项目利用Playwright进行自动浏览器测试,并与Cloudflare Workers整合, 浏览器渲染 财务报告和审定财务报表 @cloudflare/playwright 用于部署.

建设和部署

按照这些步骤设立和部署该项目:

  1. 安装依赖性 :
npm ci
  1. 构建 :
cd cloudflare
npm run build
  1. 部署到云浮工人:
cd cloudflare/example
npm ci
npx wrangler deploy

用 Cloudflare AI 游戏场

alt text

Cloudflare操场 AI 是使用工人AI中可用的LLM模型测试MCP服务器的好方法.

你现在可以开始与模型互动,它将运行必要的工具来完成所要求的任务.

[TIP] 对于最佳结果,给出由单个动作组成的简单指令,如"创建新的待办事宜条目","去云浮站","取一截图"等

对话的例子:

作用消息
用户去演示. playwright.dev/todomvc
助理运行浏览器 navigate 工具
页面已被导航到 https://demo.playwright.dev/todomvc/ (中文(简体) ),页面标题为"React ^ TodoMVC". 页面快照显示页面内容,包括标题,文本框,以及多个链接.
用户创建一些待办事宜条目
助理运行浏览器 类型工具
新建了"买杂货"的待办事宜条目. 页面快照显示页面更新内容,包括新待办事宜条目.
用户不错 现在用鹦鹉风格创建待办事宜
助理运行浏览器 类型工具
以鹦鹉风格创建了"Polly想吃快克"的新多克条目. 页面快照显示页面更新内容,包括新待办事宜条目.
用户用 Yoda 风格创建另一个待办事宜
助理运行浏览器 类型工具
一个新的"行走,我必须走"的待办事宜条目是以尤达风格创建的. 页面快照显示页面更新内容,包括新待办事宜条目.
用户拍个截图
助理运行浏览器 take 截图工具
alt text 已拍摄当前页面的截图 。 截图采用PNG格式,大小为56KB.
用户现在单击鹦鹉待办事宜条目的复选框
助理运行浏览器 单击工具
鹦鹉待办事宜条目"Polly想要个快克"的复选框已点击. 页面快照显示页面的更新内容, 现在选中复选框 .
用户拍个截图
助理运行浏览器 take 截图工具
alt text 已拍摄当前页面的截图 。 截图采用PNG格式,尺寸为58KB.
用户删除已完成的待办事宜条目
助理运行浏览器 单击工具
"Clear finished"按钮已点击. 页面快照显示页面的更新内容,所完成的待办事宜条目"Polly想要个快克"被移除.
用户最后一张截图
助理运行浏览器 take 截图工具
alt text 已拍摄当前页面的最后截图 。 截图采用PNG格式并大小为50KB.

与 Claude 桌面使用

现在, 克劳德桌面 只支持本地的MCP服务器. 用于 playground-mcp 我们用克洛德桌面 mcp 远程,这个工具可以代理远程MCP服务器并在本地曝光. 使用以下配置 :

  1. 打开克劳德桌面的配置文件 .
  2. 在下方添加以下 JSON 片断 mcpServers 节:
{
  "mcpServers": {
    "cloudflare-playwright-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://[my-mcp-url].workers.dev/sse"
      ]
    }
  }
}
  1. 保存配置文件并 重新启动 克劳德桌面应用更改.

这个设置确保了克洛德桌面可以与Cloudflare Playwright MCP服务器进行通信.

以下是一个会话打开TODO演示应用,加入"购买柠檬"并进行截图,利用剧作家-mcp工具和浏览器Rendering:

alt text

在 VSCode 中配置

您可以使用 Playwright MCP 服务器安装 VS 代码 CLI数字 :

# For VS Code
code --add-mcp '{"name":"cloudflare-playwright","type":"sse","url":"https://[my-mcp-url].workers.dev/sse"}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"cloudflare-playwright","type":"sse","url":"https://[my-mcp-url].workers.dev/sse"}'

在安装后, Playwright MCP 服务器将可用您的 GitHub 副驾驶代理在 VS 代码中使用 .

用光标

默认时间 imageResponses 设置为 "auto",服务器将禁用 Cursor 客户端的内置图像响应。 要启用 Cursor 中的内置截图, 您需要覆盖此行为 :

如果你经营自己的云旗工人,请通过 imageResponses: "allow" 创建 MCP 代理时 :

export const PlaywrightMCP = createMcpAgent(env.BROWSER, {
  imageResponses: 'allow',
} as any);

工具模式

这些工具有两种模式:

  1. 抓图模式 (默认):利用无障碍快照提高性能和可靠性
  2. 愿景模式: 使用截图进行视觉交互

愿景 模式与能够与使用元素交互的计算机使用模式最有效 X Y 坐标空间,基于所提供的截图.

互动
  • 浏览器( s)
    • 标题: 页面快照
    • 描述: 抓取当前页面的可访问性快照, 这比截图更好
    • 参数:无
    • 只读 : 真实
  • 浏览器 单击
    • 标题:单击
    • 描述: 在网页上单击
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • ref (字符串):页面快照中精确的目标元素参考
      • doubleClick (布尔,可选): 是否执行双击而不是单击
    • 只读 : 虚假
  • 浏览器( d)
    • 标题: 拖动鼠标
    • 描述: 在两个元素之间拖放
    • 参数:
      • startElement (字符串):人类可读源元素描述,用于获得与元素互动的许可
      • startRef (字符串):页面快照中精确的源元素参考
      • endElement (字符串):人类可读目标元素描述,用于获得与元素交互的许可
      • endRef (字符串):页面快照中精确的目标元素参考
    • 只读 : 虚假
  • 浏览器( h)
    • 标题: Hover 鼠标
    • 说明: 页面上对元素的依赖
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • ref (字符串):页面快照中精确的目标元素参考
    • 只读 : 真实
  • 浏览器类型
    • 标题: 类型文本
    • 描述: 将文本输入可编辑元素
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • ref (字符串):页面快照中精确的目标元素参考
      • text (字符串):输入元素的文字
      • submit (布尔,可选): 是否提交已输入的文本( 后按 Enter)
      • slowly (布尔,可选): 是否一次输入一个字符 。 用于触发页面中的密钥处理器 。 默认情况下, 整个文本立即填入 .
    • 只读 : 虚假
  • 浏览器( s)
    • 标题: 选择选项
    • 描述: 在下拉时选择一个选项
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • ref (字符串):页面快照中精确的目标元素参考
      • values (数组):在下拉时要选择的数值组. 这可以是单个值或多个值.
    • 只读 : 虚假
  • 浏览器 press key
    • 标题:按键
    • 描述: 按键盘上的键
    • 参数:
      • key (字符串):按键或要生成的字符的名称,例如 ArrowLeft 或者说 a
    • 只读 : 虚假
  • 浏览器( w)
    • 标题:等待
    • 描述: 等待文本出现或消失或指定通过时间
    • 参数:
      • time (数目,可选): 等几秒钟的时间
      • text (弦,可选): 等待的文本
      • textGone (弦,可选): 等待消失的文本
    • 只读 : 真实
  • 浏览器 file 上载
    • 标题: 上传文件
    • 描述: 上传一个或多个文件
    • 参数:
      • paths (阵列):要上传的文件的绝对路径. 可以是单个文件,也可以是多个文件.
    • 只读 : 虚假
  • 浏览器 handle dialog
    • 标题: 处理对话框
    • 描述: 处理对话框
    • 参数:
      • accept 是否接受对话框 .
      • promptText (弦,可选): 出现快速对话框时的提示文本 .
    • 只读 : 虚假
导航
  • 浏览器( n)
    • 标题: 导航到 URL
    • 描述: 导航到 URL
    • 参数:
      • url (字符串):要导航的 URL
    • 只读 : 虚假
  • 浏览器 navigate back
    • 标题: 返回
    • 描述: 回到上一页
    • 参数:无
    • 只读 : 真实
  • 浏览器 navigate forward
    • 标题:前进
    • 描述: 转到下一页
    • 参数:无
    • 只读 : 真实
资源
  • 浏览器 take 屏幕shot
    • 标题:取一个截图
    • 描述:取出当前页面的截图. 您不能执行基于截图的动作, 使用浏览器 snapshot 进行动作 .
    • 参数:
      • raw (布尔,可选): 是否不压缩返回( PNG 格式) 。 默认为假, 它返回 JPEG 图像 .
      • filename (弦,可选): 要保存截图的文件名 。 默认为 page-{timestamp}.{png|jpeg} 如果未指明的话.
      • element (弦,可选): 人类可读元素描述用于获取截取元素的许可. 如果不提供,截图将取自取景口. 如果提供了要件,也必须提供参考.
      • ref (弦,可选): 页面快照中精确的目标元素参考. 如果不提供,截图将取自取景口. 如果提供了参考文献,也必须提供要素.
    • 只读 : 真实
  • 浏览器 pdf 保存
    • 标题: 另存为 PDF
    • 描述: 将页面保存为 PDF
    • 参数:
      • filename (弦,可选): 要保存 pdf 的文件名 。 默认为 page-{timestamp}.pdf 如果未指明的话.
    • 只读 : 真实
  • 浏览器 网络 请求
    • 标题:列表网络请求
    • 描述: 自装入页面后返回所有网络请求
    • 参数:无
    • 只读 : 真实
  • 浏览器( c)
    • 标题: 获取控制台消息
    • 描述: 返回所有控制台信件
    • 参数:无
    • 只读 : 真实
公用事业
  • 浏览器 install
    • 标题: 安装配置中指定的浏览器
    • 描述: 安装配置中指定的浏览器 。 如果您发现浏览器没有安装错误, 请使用此选项 .
    • 参数:无
    • 只读 : 虚假
  • 浏览器( c)
    • 标题: 关闭浏览器
    • 描述: 关闭页面
    • 参数:无
    • 只读 : 真实
  • 浏览器大小( r)
    • 标题: 更改浏览器窗口大小
    • 描述: 调整浏览器窗口大小
    • 参数:
      • width (数目):浏览器窗口的宽度
      • height (数目):浏览器窗口的高度
    • 只读 : 真实
标签
  • 浏览器 tab list
    • 标题:列表标签
    • 描述: 列表浏览器标签
    • 参数:无
    • 只读 : 真实
  • 浏览器 tab new
    • 标题: 打开新标签
    • 描述: 打开新标签
    • 参数:
      • url (弦,可选): 在新标签中导航的 URL 。 如果不提供,新标签将是空白的.
    • 只读 : 真实
  • 浏览器 tab 选择
    • 标题: 选择标签
    • 描述: 按索引选择标签
    • 参数:
      • index (数目):要选择的标签索引
    • 只读 : 真实
  • 浏览器 tab 关闭
    • 标题: 关闭标签
    • 描述: 关闭标签
    • 参数:
      • index (数目,可选): 关闭标签的索引 。 如果不提供则关闭当前标签.
    • 只读 : 虚假
测试
  • 浏览器 基因 播放wright test
    • 标题: 生成一个 Playwright 测试
    • 描述: 生成给定情景的 Playwright 测试
    • 参数:
      • name (字符串):测试的名称
      • description (弦):试验的描述
      • steps (阵列):测试的步骤
    • 只读 : 真实
视野模式
  • 浏览器 屏幕 抓取
    • 标题:取一个截图
    • 描述: 查看当前页面的截图
    • 参数:无
    • 只读 : 真实
  • 浏览器 屏幕 移动 mouse
    • 标题: 移动鼠标
    • 描述: 将鼠标移动到指定位置
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • x (数目):X坐标
      • y (数目):Y坐标
    • 只读 : 真实
  • 浏览器 屏幕 单击
    • 标题:单击
    • 描述: 单击鼠标左键
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • x (数目):X坐标
      • y (数目):Y坐标
    • 只读 : 虚假
  • 浏览器 屏幕 拖网
    • 标题: 拖动鼠标
    • 描述: 拖动鼠标左键
    • 参数:
      • element (字符串):人类可读元素描述,用于获得与元素互动的许可
      • startX 开始 X 坐标
      • startY (数目):开始 Y 坐标
      • endX (数目):结束 X 坐标
      • endY (数目):结束 Y 坐标
    • 只读 : 虚假
  • 浏览器 屏幕 类型
    • 标题: 类型文本
    • 说明: 文本类型
    • 参数:
      • text (字符串):输入元素的文字
      • submit (布尔,可选): 是否提交已输入的文本( 后按 Enter)
    • 只读 : 虚假
  • 浏览器 press key
    • 标题:按键
    • 描述: 按键盘上的键
    • 参数:
      • key (字符串):按键或要生成的字符的名称,例如 ArrowLeft 或者说 a
    • 只读 : 虚假
  • 浏览器( w)
    • 标题:等待
    • 描述: 等待文本出现或消失或指定通过时间
    • 参数:
      • time (数目,可选): 等几秒钟的时间
      • text (弦,可选): 等待的文本
      • textGone (弦,可选): 等待消失的文本
    • 只读 : 真实
  • 浏览器 file 上载
    • 标题: 上传文件
    • 描述: 上传一个或多个文件
    • 参数:
      • paths (阵列):要上传的文件的绝对路径. 可以是单个文件,也可以是多个文件.
    • 只读 : 虚假
  • 浏览器 handle dialog
    • 标题: 处理对话框
    • 描述: 处理对话框
    • 参数:
      • accept 是否接受对话框 .
      • promptText (弦,可选): 出现快速对话框时的提示文本 .
    • 只读 : 虚假

版本与发布记录

@bearbuild/playwright-mcp 共发布 2 个版本,首次发布于 2026/10/08;过去 12 个月发布了 2 个版本。

版本发布日期距今
1.0.2latest2026/10/0830 天前
0.0.0-stage2026/10/0830 天前

关于 @bearbuild/playwright-mcp 的常见问题

@bearbuild/playwright-mcp 是什么?

Cloudflare Playwright 工具用于 MCP( 熊建叉)

如何安装 @bearbuild/playwright-mcp?

在项目目录运行 npm install @bearbuild/playwright-mcp,或使用 pnpm add / yarn add / bun add。

@bearbuild/playwright-mcp 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bearbuild/playwright-mcp 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bearbuild/playwright-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bearbuild/playwright-mcp 可以商用吗?

@bearbuild/playwright-mcp 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@bearbuild/playwright-mcp 的下载量有多少?

根据 npm 官方下载统计,@bearbuild/playwright-mcp 在 2026/10/08 – 2026/11/06 这 30 天内被下载 11,378 次,日均约 379 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bearbuild/playwright-mcp 还在维护吗?

最新版本 1.0.2 发布于 2026/10/08(30 天前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/10/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。