剧作家池
用于浏览器自动化的MCP服务器,具有共享身份验证和内置UI审计功能
 ](https://nodejs.org/)  
入门指南 | MCP工具 | CLI命令 | 审计工具 | 为什么选择剧作家池?
______________________________________________________________________
什么是剧作家池?
Playwright Pool是一个MCP(模型上下文协议)服务器和CLI,为AI编码助手提供以下功能 克劳德代码, 光标, 帆板运动,以及 克莱恩 一个动态管理的经过身份验证的Playwright浏览器实例池。它使用单个 金色轮廓 跨无限浏览器窗口共享登录凭据,在并发AI对话之间实现完全会话隔离。
一个MCP配置条目。无限浏览器。零冲突。28个内置审计工具。
关键数字
- 75个MCP工具 --浏览器自动化、UI审计、可访问性测试、性能测量、存储管理
- 42个CLI命令 --MCP服务器所做的一切,加上基准测试、精度测试和独立操作
- 28种审计工具 --可访问性、颜色对比、核心网络重要信息、断开链接、暗模式、SEO元、视觉差异、安全标头、cookie合规性等
- 143个设备预设 --通过以下方式模拟iPhone、iPad、Pixel、Galaxy等
pool_launch --device - 紧凑型快照 --
snapshot_compact使用的令牌比完全可访问性树少90% - 210个浏览器审核场景 经过研究和记录——任何MCP服务器中最全面的浏览器审计覆盖范围
- 100%准确率 在不同复杂度的测试页面上植入80个UI错误
______________________________________________________________________
为什么选择剧作家池?
每台Playwright MCP服务器都会为您提供一个原始浏览器。剧作家池给你一个 内置质量审计的浏览器自动化平台.
现有MCP浏览器工具的问题
AI编码助手使用MCP Playwright服务器进行浏览器自动化。但是标准 @playwright/mcp 并且替代方案具有局限性:
- 每个MCP条目一个浏览器 --需要5个浏览器?配置5个单独的MCP条目
- 无凭据共享 --每个实例都需要自己的登录会话
- 跨会话冲突 --两个AI对话争夺同一个浏览器实例
- 无审计工具 --想要可访问性或性能数据?自带工具
- 静态缩放 --不编辑配置就无法动态启动更多浏览器
Playwright Pool有什么不同
| 能力 | 编剧库 | @description/mcp | 其他mcp服务器 |
|---|---|---|---|
| 动态浏览器池 | 一个条目,无限个实例 | N个条目对应N个实例 | 仅云或N对N |
| 黄金配置文件身份验证共享 | 登录一次,克隆到所有 | 按实例登录 | 无身份验证共享 |
| 跨会话隔离 | 基于UUID,零冲突 | 会话共享状态 | 变化 |
| 窗口+选项卡模式 | 两种模式,根据上下文选择 | 单一模式 | 通常一种 |
| 内置审计工具 | 28个专用审计 | 无 | 无 |
| 可访问性测试 | 斧头核心+WCAG 2.1内置 | 外部工具 | 外部工具 |
| 视觉回归差异 | 内置屏幕截图差异 | 不可用 | 不可用 |
| 核心网络生命体征测量 | 一个命令 | 不可用 | 不可用 |
| 独立使用的CLI | 42个命令 | 有限 | 各不相同 |
| 响应断点审计 | 一个命令,所有视口 | 手动调整大小循环 | 手动调整尺寸循环 |
| 暗模式审核 | 自动亮/暗比较 | 不可用 | 不可用 |
| SEO元审计 | 内置 | 不可用 | 不可用 |
竞争对手基准测试结果
在同一测试页面上针对Lighthouse CLI、Pa11y和axe-core CLI进行了测试:
| 工具 | 设置复杂性 | 审计广度 | MCP集成 | 会话管理 |
|---|---|---|---|---|
| 剧作家池 | 一个配置条目 | 28种审计类型+75个MCP工具 | 本地MCP服务器 | 动态池+黄金配置文件 |
| Lighthouse CLI | 单独安装 | 注重性能 | 无 | 无 |
| Pa11y | 单独安装 | 仅支持辅助功能 | 无 | 无 |
| axe-core CLI | 单独安装 | 仅可访问性 | 无 | 无 |
______________________________________________________________________
入门指南
快速安装
git clone https://github.com/Zbrooklyn/playwright-pool.git
cd playwright-pool
npm install
npx playwright install chromium创建金色轮廓
登录您的服务一次。每个浏览器实例都会自动继承这些凭据。
# Create the profile directory
mkdir -p ~/.playwright-pool/golden-profile
# Launch a browser with this profile and log in manually
npx playwright open --user-data-dir ~/.playwright-pool/golden-profile https://accounts.google.com登录谷歌、Stripe、Cloudflare、GitHub或您需要的任何其他服务。关闭浏览器。您的凭据保存在黄金配置文件中。
配置MCP(克劳德代码)
添加到您的 .mcp.json:
{
"mcpServers": {
"playwright-pool": {
"command": "node",
"args": ["/path/to/playwright-pool/server.js"],
"env": {
"GOLDEN_PROFILE": "/path/to/.playwright-pool/golden-profile",
"POOL_DIR": "/path/to/.playwright-pool/pool-contexts"
}
}
}
}Windows example
{
"mcpServers": {
"playwright-pool": {
"command": "node",
"args": ["C:/Users/You/playwright-pool/server.js"],
"env": {
"GOLDEN_PROFILE": "C:/Users/You/.playwright-pool/golden-profile",
"POOL_DIR": "C:/Users/You/.playwright-pool/pool-contexts"
}
}
}
}重新启动Claude Code(或您的MCP客户端)。这 playwright-pool 服务器现在可以使用所有75个工具。
______________________________________________________________________
特性
浏览器池管理
- 黄金档案认证 --登录一次,通过身份验证文件覆盖将凭据共享给所有实例(不是完整的配置文件副本)
- 动态浏览器缩放 --按需启动1、5或20个浏览器窗口,无需更改配置
- UUID会话隔离 --每个AI对话都有一个唯一的ID,并发会话永远不会冲突
- 窗口和选项卡模式 --用于单独身份验证状态的隔离窗口,用于比较工作流的共享选项卡
- 模板缓存 --第一次启动会创建一个缓存的模板,随后的启动仅是文件系统(没有额外的Chromium启动)
- 自动清理 --在上下文关闭、会话结束或服务器退出时删除临时目录
浏览器自动化(33个MCP工具)
- 导航、单击、填充、键入、悬停、拖动、选择选项
- 键盘快捷键和组合键
- 文件上传、对话框处理
- JavaScript评估和自定义Playwright代码执行
- 控制台消息和网络请求检查
- 元素可见性和值验证
- 选项卡管理、反向导航
- PDF导出、截图、可访问性快照
- 性能调试的跟踪(启动/停止)
UI审计(28个内置审计工具)
- 无障碍 --通过斧头核心违反WCAG 2.1,按严重程度分组
- 颜色对比 --根据AA/AAA标准检查文本/背景比率
- 响应断点 --在一个命令中截图所有视口
- 点击目标 --触摸目标大小验证(48x48px WCAG 2.5.5)
- 核心网页指标 --LCP、CLS、INP测量,具有通过/失败评级
- 图像审计 --缺少alt文本、超大图像、传统格式、损坏的URL
- 字体审核 --排版一致性、字体系列/粗细/尺寸库存
- 计算样式 --任何元素的完全解析CSS
- 溢出检测 --每个断点处的水平溢出
- 深色模式 --与不变元素标记的亮/暗比较
- SEO元 --标题、描述、OG标签、标题层次结构、机器人指令
- 视觉差异 --像素级屏幕截图与变化百分比的比较
- 焦点顺序 --带有可见焦点指示器检查的键盘导航序列
- 交互状态 --按钮和链接的悬停/聚焦/活动状态捕获
- 间距一致性 --针对设计系统规模的裕度/填充审计
- Z索引图 --具有冲突检测的堆叠订单库存
- 失效链接 --对所有href和图像源进行HTTP状态检查
- 加载状态 --网络受限的定时截图(3G,慢速4G)
- 表单验证 --空、无效和有效的提交状态捕获
- 打印布局 --印刷媒体仿真与截图
- 滚动行为 --粘性元素、视差、无限滚动审核
- 元素重叠 --跨断点的视觉碰撞检测
- 安全标头 --CSP、HSTS、X-Frame-Options分析
- 混合内容 --HTTPS页面上的HTTP资源检测
- 第三方脚本 --外部脚本清单和风险评估
- Cookie合规性 --GDPR/隐私合规cookie审计
- 灯塔集成 --通过CLI生成完整的Lighthouse报告
______________________________________________________________________
MCP工具(共75个)
池管理(4个工具)
| 工具 | 说明 |
|---|---|
pool_launch | 使用黄金配置文件身份验证创建新的浏览器窗口或选项卡 |
pool_close | 关闭特定上下文或所有上下文 |
pool_list | 列出此会话中的所有活动浏览器上下文 |
pool_switch | 切换活动上下文 |
浏览器自动化(33个工具)
| 工具 | 说明 |
|---|---|
browser_navigate | 导航到URL |
browser_navigate_back | 返回浏览器历史记录 |
browser_click | 通过CSS或文本选择器单击元素 |
browser_hover | 将鼠标悬停在元素上 |
browser_type | 用真实按键键入文本 |
browser_press_key | 按键或组合键 |
browser_fill_form | 填写表单字段 |
browser_select_option | 从下拉列表中选择 |
browser_drag | 拖放元素 |
browser_file_upload | 上传文件到输入 |
browser_handle_dialog | 接受或关闭JS对话框 |
browser_tabs | 列出、创建、关闭或切换选项卡 |
browser_resize | 调整视口尺寸 |
browser_take_screenshot | 截图(内联或文件) |
browser_snapshot | 获取可访问性树 |
browser_evaluate | 在页面中运行JavaScript |
browser_run_code | 执行任意Playwright代码 |
browser_console_messages | 获取控制台日志/警告/错误输出 |
browser_network_requests | 检查网络请求和响应 |
browser_wait_for | 等待文本、元素或条件 |
browser_verify_element_visible | 断言元素可见性 |
browser_verify_text_visible | 断言文本在页面上 |
browser_verify_list_visible | 按顺序声明列表项 |
browser_verify_value | 断言输入值 |
browser_generate_locator | 根据描述生成CSS选择器 |
browser_mouse_move_xy | 将光标移动到坐标 |
browser_mouse_click_xy | 点击坐标 |
browser_mouse_drag_xy | 拖动到坐标 |
browser_pdf_save | 将页面另存为PDF |
browser_start_tracing | 开始剧作家跟踪录制 |
browser_stop_tracing | 停止并保存跟踪 |
browser_install | 安装Chromium二进制文件 |
browser_close | 关闭浏览器 |
审计工具(28个MCP工具)
| 工具 | 它检查什么 |
|---|---|
audit_accessibility | 通过斧头核心违反WCAG 2.1 |
audit_color_contrast | 文本/背景对比度 |
audit_breakpoints | 多视口响应式屏幕截图 |
audit_tap_targets | 触摸目标最小尺寸(48x48px) |
audit_core_web_vitals | LCP、CLS、INP性能指标 |
audit_image_sizes | Alt文本、超大图像、格式、延迟加载 |
audit_fonts | 排版一致性和目录 |
audit_computed_styles | 解析任何元素的CSS |
audit_overflow | 每个断点的水平溢出 |
audit_dark_mode | 亮/暗模式比较 |
audit_meta | SEO元数据和标题层次结构 |
audit_visual | 全面的程序化UI报告 |
audit_diff | 像素级截图比较 |
audit_focus_order | 键盘导航顺序 |
audit_interactive_states | 悬停/聚焦/活动状态捕捉 |
audit_spacing_consistency | 边距/填充与设计系统 |
audit_z_index_map | 堆叠顺序和冲突 |
audit_broken_links | 所有链接和图像的HTTP状态 |
audit_loading_states | 网络限制加载截图 |
audit_form_validation | 表单提交状态测试 |
audit_print_layout | 打印媒体模拟 |
audit_scroll_behavior | 粘滞、视差、滚动审核 |
audit_element_overlap | 跨断点的视觉碰撞检测 |
audit_security_headers | CSP、HSTS、X-Frame-Options分析 |
audit_mixed_content | HTTPS页面上的HTTP资源 |
audit_third_party_scripts | 外部脚本清单和风险评估 |
audit_cookie_compliance | GDPR/CCPA cookie分类 |
audit_lighthouse | 综合绩效/11年/搜索引擎优化/最佳实践评分 |
实用工具(2个MCP工具)
| 工具 | 说明 |
|---|---|
snapshot_compact | 仅交互式元素——代币数量比 browser_snapshot |
browser_mouse_wheel | 滚动鼠标滚轮(水平和垂直) |
存储工具(5个MCP工具)
| 工具 | 说明 |
|---|---|
browser_cookies_get | 获取当前页面的Cookie |
browser_cookies_set | 设置一个cookie,包括名称、值、域、路径和过期时间 |
browser_cookies_clear | 清除所有Cookie |
browser_storage_get | 获取localStorage/sessionStorage值 |
browser_storage_set | 设置本地存储/会话存储值 |
______________________________________________________________________
CLI(42个命令)
Playwright Pool包含一个完整的CLI,可在MCP之外独立使用。每个审计和浏览器操作都可以从命令行进行。
# Setup
playwright-pool init # Initialize golden profile directory
playwright-pool login # Open golden profile for login
playwright-pool config # Show current configuration
playwright-pool status # Check server and browser status
playwright-pool clean # Clean up temp directories
playwright-pool install # Install Chromium binary
# Browser operations (17 subcommands)
playwright-pool browser launch # Launch a browser window
playwright-pool browser navigate # Navigate to URL
playwright-pool browser click # Click element
playwright-pool browser type # Type text
playwright-pool browser key # Press key combination
playwright-pool browser fill # Fill form field
playwright-pool browser hover # Hover element
playwright-pool browser select # Select dropdown option
playwright-pool browser drag # Drag and drop
playwright-pool browser upload # Upload file
playwright-pool browser dialog # Handle JS dialog
playwright-pool browser resize # Resize viewport
playwright-pool browser tabs # Manage tabs
playwright-pool browser back # Navigate back
playwright-pool browser list # List contexts
playwright-pool browser switch # Switch context
playwright-pool browser close # Close context
# Quick operations
playwright-pool screenshot # Quick screenshot
playwright-pool snap # Quick accessibility snapshot
playwright-pool eval # Quick JS evaluation
playwright-pool pdf # Quick PDF export
# Inspection
playwright-pool console # View console messages
playwright-pool network # View network requests
playwright-pool run # Run Playwright code
playwright-pool wait # Wait for condition
playwright-pool verify # Verify element/text/value
playwright-pool locator # Generate selector
# Mouse operations
playwright-pool mouse move # Move to coordinates
playwright-pool mouse click # Click at coordinates
playwright-pool mouse drag # Drag to coordinates
# Tracing
playwright-pool trace start # Start recording
playwright-pool trace stop # Stop and save trace
# Auditing (28 audit types)
playwright-pool audit # Run all audits
playwright-pool audit --type=accessibility
playwright-pool audit --type=color-contrast
playwright-pool audit --type=breakpoints
playwright-pool audit --type=tap-targets
playwright-pool audit --type=core-web-vitals
playwright-pool audit --type=image-sizes
playwright-pool audit --type=fonts
playwright-pool audit --type=overflow
playwright-pool audit --type=dark-mode
playwright-pool audit --type=meta
playwright-pool audit --type=diff
playwright-pool audit --type=focus-order
playwright-pool audit --type=broken-links
playwright-pool audit list # List available audits
# Testing & benchmarking
playwright-pool benchmark # Performance benchmark
playwright-pool accuracy # Accuracy scoring against planted bugs
playwright-pool compare # Competitor comparison benchmark______________________________________________________________________
运作原理
黄金型材建筑
复制整个Chromium用户数据目录会导致崩溃,因为缓存文件、GPU数据和着色器缓存与特定的Chromium版本相关联。Playwright Pool通过创建一个新的配置文件并仅覆盖13个身份验证关键文件来解决这个问题:
- 您创建了一个 金色轮廓 --带有登录会话的Chromium用户数据目录
- 当AI会话请求浏览器时,服务器:
- 创建新的Chromium配置文件(首次使用后作为模板缓存) - 覆盖黄金配置文件中的身份验证文件(Cookie、登录数据、本地存储、会话存储、Web数据、首选项、安全首选项、本地状态) - 使用克隆的身份验证启动一个带头的Chromium窗口
- 每个浏览器都有一个以UUID为前缀的临时目录,因此并行会话永远不会发生冲突
- 当浏览器关闭或会话结束时,临时目录会被清理
会话隔离
Session A (uuid: a7f3...) --> 3 browser windows (Stripe, Cloudflare, Gmail)
Session B (uuid: b2d1...) --> 2 browser windows (product pages)
Session C (uuid: c9e4...) --> 1 browser window (docs)六个浏览器,三个会话,一个MCP条目,零冲突。每个MCP客户端会话都有自己的具有唯一UUID的服务器进程。所有临时目录都以这个UUID作为前缀,因此会话永远不会接触到彼此的文件或进程。
目录结构
~/.playwright-pool/
golden-profile/ # Master profile (log in here)
pool-contexts/ # Auto-managed temp directories
a7f3...-template/ # Cached template (session A)
a7f3...-1/ # Window 1 (session A)
a7f3...-2/ # Window 2 (session A)
b2d1...-template/ # Cached template (session B)
b2d1...-1/ # Window 1 (session B)______________________________________________________________________
用例
AI辅助UI审计
让Claude Code通过MCP工具使用自然语言命令,对您的网站进行全方位的审计——可访问性、性能、响应式设计、暗模式、SEO。
经过身份验证的浏览器自动化
在经过身份验证的仪表板(Stripe、Cloudflare、AWS、Google Analytics)上自动化工作流程,而无需为每个会话重新登录。
并发AI会话
同时运行多个Claude Code对话,每个对话都有自己的浏览器窗口,没有会话冲突或凭据问题。
响应式设计测试
在单个命令中在桌面、平板电脑和移动设备断点处审核您的网站。自动比较不同视口的屏幕截图。
视觉回归检测
拍摄前后屏幕截图,获取像素级差异报告,包括变化百分比和突出显示的区域。
无障碍合规
使用axe-core集成运行WCAG 2.1审核,检查焦点顺序,验证抽头目标,并验证颜色对比度——所有这些都可以通过MCP或CLI完成。
______________________________________________________________________
演出
速度比较(eval——导航到页面,获取标题)
| 工具 | 无头 | 有头 |
|---|---|---|
| 剧作家池CLI | 1.2秒 | 1.7秒 |
| @剧作家/mcp(原始剧作家) | 1.2s | 1.8s |
| 代理浏览器 | N/A | 0.6秒 |
代币使用情况比较(GitHub仓库页面——复杂)
| 方法 | 代币 |
|---|---|
MCP browser_navigate (完整快照) | ~28000个令牌(112KB) |
MCP snapshot_compact | 约1375个令牌(5.5KB) |
| CLI屏幕截图(仅文件路径) | ~20个标记 |
| CLI快照(仅文件路径) | ~20个令牌 |
何时使用什么
- 主控程序 --交互式工作:点击、导航、对页面状态做出反应。使用
snapshot_compact而不是browser_snapshot代币数量减少20倍。 - 命令行界面 --审计、截图、批量操作。一个命令,最小上下文标记。
snapshot_compact--总是比browser_snapshot除非你需要完整的DOM树。
______________________________________________________________________
配置
| 环境变量 | 默认值 | 描述 |
|---|---|---|
GOLDEN_PROFILE | ~/.playwright-pool/golden-profile | 保存登录信息的黄金Chromium配置文件路径 |
POOL_DIR | ~/.playwright-pool/pool-contexts | 临时浏览器配置文件目录 |
刷新凭据
当您的登录会话到期时:
- 跑
playwright-pool login(或npx playwright open --user-data-dir ~/.playwright-pool/golden-profile) - 重新登录到过期的服务
- 关闭浏览器
- 重新启动AI工具——新的浏览器实例将具有新的凭据
______________________________________________________________________
需求
- Node.js >= 18
- 剧作家 (自动安装
npm install) - 铬 (通过安装
npx playwright install chromium)
工作在 视窗, macOS,以及 Linux.
______________________________________________________________________
常见问题
什么是MCP服务器?
MCP(模型上下文协议)是一个开放标准,允许Claude Code、Cursor、Windsurf和Cline等AI编码助手与外部工具进行交互。MCP服务器公开了AI可以调用的工具。Playwright Pool是一个MCP服务器,它公开了75个浏览器自动化和UI审计工具。
这和@scription/mcp有什么不同?
官方 @playwright/mcp 为每个配置条目提供一个浏览器实例,没有身份验证共享、审计工具和会话隔离。Playwright Pool为您提供了一个动态的经过身份验证的浏览器池,其中包含28个内置审计工具,所有这些工具都来自一个配置条目。
这适用于Claude Code吗?
对。Playwright Pool主要为Claude Code设计,但可与任何兼容MCP的客户端配合使用,包括Cursor、Windsurf、Cline和自定义MCP客户端。
我可以在没有MCP的情况下使用CLI吗?
对。这 playwright-pool CLI提供42个命令,用于独立于任何MCP客户端的浏览器自动化和审计。
这个生产准备好了吗?
Playwright Pool在生产中被积极用于UI审计工作流程。它已经在210个浏览器审计场景中进行了测试,在80个植入的UI错误上具有100%的准确性。
______________________________________________________________________
路线图
看 ROADMAP.md 用于全工具路线图和竞争定位分析。
______________________________________________________________________
贡献
欢迎捐款。请在提交pull请求之前打开一个问题来讨论更改。
______________________________________________________________________
许可证
麻省理工学院 --免费用于个人和商业用途。
______________________________________________________________________
专为人工智能辅助的web开发而构建。
Playwright Pool——用于Claude Code和MCP兼容AI工具的浏览器自动化、UI审计和可访问性测试。
