剧作家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: chromium, firefox, webkit (default: chromium)
--headless Run in headless mode
--vision Enable vision/screenshot capabilities
--caps Comma-separated capabilities
--image-responses allow or omit (default: allow)运作原理
┌─────────────────────────────────────────────────┐
│ MCP Server (this fork) │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ MultiSessionBackend │ │
│ │ │ │
│ │ sessions: Map │ │
│ │ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ 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.
