并行浏览器实例管理工具

playwright-mcp-parallel是一个基于@playwright/mcp的并行浏览器实例管理工具,支持多浏览器实例并行运行,每个实例拥有独立的上下文、认证和状态,适用于需要并行执行浏览器任务的场景。

  • by Mokecy
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Mokecy/playwright-mcp-parallel

使用说明

剧作家mcp平行

添加并行增强功能 @剧作家/mcp
同时运行多个独立的浏览器实例,每个实例都有自己的上下文、身份验证和状态。


为什么剧作家mcp平行?

标准 @playwright/mcp 仅支持 一个浏览器实例 每台服务器。此软件包将其扩展为支持 N个并行实例,启用:

  • 🔀 并行任务执行 --同时运行多个浏览器任务
  • 🔐 身份克隆 --将Cookie/本地存储从您登录的Chrome克隆到所有新实例
  • 🧩 孤立的环境 --每个实例都有完全独立的状态
  • 🔌 插入兼容 --全部原创 @playwright/mcp 工具可通过 page_* 前缀

安装和设置

克劳德桌面/光标/VS代码/任何MCP客户端

{
  "mcpServers": {
    "playwright-parallel": {
      "command": "npx",
      "args": [
        "playwright-mcp-parallel@latest"
      ]
    }
  }
}

带选项(无头等)

{
  "mcpServers": {
    "playwright-parallel": {
      "command": "npx",
      "args": [
        "playwright-mcp-parallel@latest",
        "--headless"
      ]
    }
  }
}

工具参考

🔌 连接和身份验证

工具 说明
browser_connect 通过CDP连接到现有的Chrome并提取身份验证(Cookie+本地存储)。Chrome必须启动 --remote-debugging-port=9222.
instance_export_auth 从特定实例(或连接的Chrome)导出身份验证状态。更新全局身份验证,以便新实例将继承它

🖥️ 实例管理

工具 说明
instance_create 创建一个新的隔离浏览器实例。可选择从连接的Chrome自动克隆身份验证。
instance_list 列出所有活动实例及其当前URL和标题。
instance_close 关闭特定实例并释放其资源。
instance_close_all 立即关闭所有实例。

🌐 浏览器工具(所有原创@description/mcp工具)

所有工具来自 @playwright/mcp 可用a page_ 前缀并要求 instanceId 参数:

工具 说明
page_browser_navigate 将实例导航到URL
page_browser_click 单击实例中的元素
page_browser_type 在元素中键入文本
page_browser_screenshot 截取实例的屏幕截图
page_browser_snapshot 获取实例的可访问性快照
page_browser_evaluate 在实例中执行JavaScript
page_browser_wait_for 等待实例中的条件
... 所有其他 @playwright/mcp 工具与 page_ 前缀

用法示例

典型工作流程:身份验证克隆+并行任务

1. Start Chrome with debugging:
   chrome.exe --remote-debugging-port=9222

2. Log in manually in Chrome

3. In your AI agent:
   → browser_connect()                          # Extract auth from Chrome
   → instance_create({ instanceId: "task-1", url: "https://app.example.com" })
   → instance_create({ instanceId: "task-2", url: "https://app.example.com" })
   → (Both instances are logged in automatically!)

4. Run tasks in parallel:
   → page_browser_click({ instanceId: "task-1", ... })
   → page_browser_click({ instanceId: "task-2", ... })

5. Export auth from a running instance (e.g., after login flow):
   → instance_export_auth({ instanceId: "task-1" })
   → instance_create({ instanceId: "task-3" })  # Also logged in

从实例导出身份验证

→ instance_create({ instanceId: "login-bot", url: "https://example.com/login" })
→ page_browser_click({ instanceId: "login-bot", ... })   # complete login
→ instance_export_auth({ instanceId: "login-bot" })      # export & set as global auth
→ instance_create({ instanceId: "worker-1" })            # inherits login state
→ instance_create({ instanceId: "worker-2" })            # inherits login state

CLI选项

全部 @playwright/mcp 支持CLI选项:

npx playwright-mcp-parallel@latest [options]
选项 描述
--headless 在无头模式下运行浏览器
--browser <browser> 要使用的浏览器: chrome, firefox, webkit, msedge
--viewport-size <size> 视口大小,例如。 1280x720
--user-data-dir <path> 用户数据目录的路径
--storage-state <path> 存储状态JSON文件的路径
--proxy-server <proxy> 代理服务器,例如。 http://myproxy:3128
--no-sandbox 禁用沙盒
--port <port> SSE运输港口
--isolated 仅将浏览器配置文件保存在内存中

有关选项的完整列表,请参阅 @剧作家/mcp文档.


运作原理

playwright-mcp-parallel
├── Management Layer
│   ├── browser_connect      → Extract auth from existing Chrome
│   ├── instance_create      → Launch isolated browser + clone auth
│   ├── instance_list        → List active instances
│   ├── instance_close       → Dispose instance
│   ├── instance_close_all   → Dispose all
│   └── instance_export_auth → Export cookies/localStorage from instance
│
└── Per-Instance Tool Dispatch
    └── page_* tools → routed to the correct BrowserBackend by instanceId

每 instance_create 呼叫启动a 铬新工艺 在一个孤立的背景下。通过以下方式提取身份验证状态(Cookie+本地存储) browser_connect 或 instance_export_auth 被自动注入到新的上下文中。


与@scription/mcp的区别

专题 @剧作家/mcp 剧作家-mcp平行
浏览器实例 1 无限制
并行执行 ❌ ✅
身份验证克隆 ❌ ✅
身份验证导出 ❌ ✅
原始工具 ✅ ✅ (通过 page_ 前缀)
插入配置 ✅ ✅

需求

  • Node.js>=18
  • 任何兼容MCP的客户端(Claude Desktop、Cursor、VS Code、Windsurf等)

许可证

Apache-2.0——基于 @剧作家/mcp 微软。