多会话浏览器自动化工具

Playwright MCP Supercharged是一个增强版的浏览器自动化工具,支持多会话并行运行和Chrome cookie导入功能,适用于需要同时管理多个独立浏览器会话的场景。

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

使用说明

剧作家MCP增压

一个增压叉 @剧作家/mcp 这增加了 多会话支持 和 Chrome cookie导入 --同时运行多个独立的浏览器上下文,并登录到您的Chrome已经登录的任何网站。

为什么?

上游Playwright MCP服务器仅支持单个浏览器上下文,无法导入身份验证会话。这个叉子增加了:

  • 跑 并行的多个浏览器会话 (例如,一个用于Shopify管理员,另一个用于您的应用程序)
  • 从Chrome导入Cookie --一次工具调用,无需密码,即可访问您登录的任何网站
  • 针对任何会话 通过 sessionId 任何工具
  • 在会话之间切换 无需关闭/重新打开浏览器
  • 每节课都有 独立选项卡、Cookie、存储和状态

入门指南

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["playwright-mcp-supercharged"]
    }
  }
}

或者从这个仓库运行:

{
  "mcpServers": {
    "playwright": {
      "command": "node",
      "args": ["/path/to/playwright-mcp-supercharged/packages/playwright-mcp/cli.js"]
    }
  }
}

会话管理工具

工具 说明
session_create 创建新的隔离浏览器会话
session_list 列出所有活动会话并显示哪些会话处于活动状态
session_switch 更改活动(默认)会话
session_close 关闭会话并释放其浏览器

使用会话

现在,每个现有的Playwright工具都接受一个可选的 sessionId 参数:

# Create two sessions
session_create({ sessionId: "shopify" })
session_create({ sessionId: "admin" })

# Navigate each independently
browser_navigate({ url: "https://shopify.com/admin", sessionId: "shopify" })
browser_navigate({ url: "https://admin.example.com", sessionId: "admin" })

# Take snapshots from specific sessions
browser_snapshot({ sessionId: "shopify" })
browser_snapshot({ sessionId: "admin" })

# Switch active session (used when sessionId is omitted)
session_switch({ sessionId: "shopify" })
browser_snapshot()  # → uses "shopify" session

# Close when done
session_close({ sessionId: "admin" })

自动创建

如果你调用一个工具 sessionId 这还不存在,会话是自动创建的。你不需要打电话 session_create 第一。

如果你不通过 sessionId 总之,a "default" 会话已使用。

从Chrome导入Cookie

访问您已在Chrome中登录的网站。MCP直接从macOS上的Chrome加密数据库中解密Cookie。

# Import cookies for a domain into a session
session_import_cookies({ domain: "shopify.com", sessionId: "shopify" })

# Now navigate — you're logged in
browser_navigate({ url: "https://admin.shopify.com", sessionId: "shopify" })

适用于任何网站:Shopify、GitHub、AWS、谷歌等。无需密码,它可以读取您现有的Chrome会话。

对于验证码保护的网站 (Shopify、谷歌),无需运行 --headless 所以你会看到一个可见的浏览器窗口。导入cookie后,您可能需要在可见窗口中单击一次验证码,然后AI就会接管。

对会话进行身份验证的三种方法:

方法 用例
session_import_cookies({ domain }) 最适合大多数情况。从Chrome解密。仅限macOS。
session_create({ cookiesFile }) JSON格式的预导出Cookie。跨平台。
session_create({ cdpEndpoint }) 通过DevTools协议连接到正在运行的Chrome。

CLI选项

playwright-mcp-supercharged [options]

Options:
  --browser <browser>         Browser: chromium, firefox, webkit (default: chromium)
  --headless                  Run in headless mode
  --vision                    Enable vision/screenshot capabilities
  --caps <capabilities>       Comma-separated capabilities
  --image-responses <mode>    allow or omit (default: allow)

运作原理

┌─────────────────────────────────────────────────┐
│           MCP Server (this fork)                │
│                                                 │
│  ┌──────────────────────────────────────────┐   │
│  │       MultiSessionBackend                │   │
│  │                                          │   │
│  │  sessions: Map<sessionId, Backend>       │   │
│  │                                          │   │
│  │  ┌─────────┐ ┌─────────┐ ┌─────────┐   │   │
│  │  │ shopify  │ │  admin  │ │ default │   │   │
│  │  │ Browser  │ │ Browser │ │ Browser │   │   │
│  │  │ Context  │ │ Context │ │ Context │   │   │
│  │  │ Tabs...  │ │ Tabs... │ │ Tabs... │   │   │
│  │  └─────────┘ └─────────┘ └─────────┘   │   │
│  └──────────────────────────────────────────┘   │
│                                                 │
│  Tool call: browser_navigate(url, sessionId)    │
│       → routes to correct Backend               │
└─────────────────────────────────────────────────┘

每个会话都有自己的 playwright.Browser 具有隔离的实例 BrowserContext所有上游Playwright MCP工具的工作原理不变——我们只需添加 sessionId 路由层。

许可证

Apache-2.0(与上游相同)

学分

基于 微软/剧作家mcp.