使用说明
剧作家MCP服务器
此存储库包含用于在不同浏览器模式下运行Playwright MCP服务器的Docker配置。
概述
Playwright MCP服务器为Claude Desktop等AI助手提供浏览器自动化功能。此设置为不同的用例提供了无头和VNC启用(可视化)模式。
可用模式
1.无头模式(生产)
- 无可视界面
- 资源使用率最低
- 非常适合生产部署
- 后缀
-headless到图像标签 - 例子:
ghcr.io/andrewjedawes/playwright-mcp-server:latest-headless
2.VNC/可视化模式(调试)
- 通过VNC的可视化浏览器界面
- 非常适合调试和开发
- 实时查看浏览器
- 后缀
-vnc到图像标签 - 例子:
ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc
运行MCP服务器
无头模式
docker run -i --rm ghcr.io/andrewjedawes/playwright-mcp-server:latest-headless
视觉(VNC)模式
要在视觉模式下运行,请使用 -vnc 对MCP服务器和VNC端口进行成像和曝光:
docker run -i --rm -p 8931:8931 -p 5900:5900 ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc
传递论点(例如,--vision)
您可以在映像名称后传递任何Playwright MCP服务器参数。例如,要启用视觉模式,请使用 --vision 标志:
docker run -i --rm -p 8931:8931 -p 5900:5900 ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc --vision
或者指定其他MCP端口:
docker run -i --rm -p 9000:8931 -p 5900:5900 ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc --port 8931 --vision
环境配置
适用于Cursor/Claude桌面
创建MCP服务器配置:
VNC:
{
"playwright-mcp-server-vnc": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8931:8931",
"-p",
"5900:5900",
"ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc"
]
}
}
无头:
{
"playwright-mcp-server-headless": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/andrewjedawes/playwright-mcp-server:latest-headless"
]
}
}
传递自定义参数
传递自定义参数(例如 --browser firefox 或 --vision),将其直接纳入 docker run 图像名称后的命令。
例子:
docker run -i --rm -p 8931:8931 -p 5900:5900 ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc --vision --browser firefox
VNC访问
使用VNC模式时:
- 统一资源定位符:
vnc://localhost:5900 - 密码:
playwright - 决心:1024x768
VNC客户端:
- macOS:内置屏幕共享或TigerVNC
- 视窗:TigerVNC、RealVNC或UltraVNC
- Linux:Remmina、TigerVNC或基于浏览器的客户端
连接到服务器
服务器应连接到可流式传输的HTTP。例如 mcp.json 文件包括以下配置:
{
"servers": {
"playwright-mcp-server-vnc": {
"url": "http://localhost:8931/mcp"
}
}
}
确保您的服务器配置遵循类似的结构,以实现正确的连接。
运作原理
- MCP通信:容器运行时
-istdin/stdout通信标志 - 浏览器会话:Playwright在容器中启动Chromium(或您选择的浏览器)
- VNC访问:X11转发允许您查看浏览器的运行情况
- 双模式:相同的MCP服务器,不同的可见性选项
故障排除
如果您遇到问题:
-
重建图像 要获取最新修复程序:
docker build -t ghcr.io/andrewjedawes/playwright-mcp-server:latest-vnc . docker build -t ghcr.io/andrewjedawes/playwright-mcp-server:latest-headless . -
验证容器是否正常工作:
docker run --rm ghcr.io/andrewjedawes/playwright-mcp-server:latest-headless npx playwright --version
浏览器未启动
# Check if the container is running
docker ps
# Check logs
docker logs <container_id>
替换 <container_id> 具有来自的实际容器ID docker ps.
VNC连接问题
# Test VNC port
nc -zv localhost 5900
# Check if VNC server is running in container
docker exec <container_id> ps aux | grep vnc
替换 <container_id> 具有来自的实际容器ID docker ps.
建筑
MCP Client (Claude Desktop)
↓ (stdin/stdout)
Docker Container
├── MCP Server (Playwright CLI)
├── Playwright
├── Chromium/Other Browser
└── VNC Server (optional)
↓ (port 5900)
VNC Client (for debugging)
用例
无头模式:
- 生产MCP服务器
- 自动化工作流程
- 资源受限的环境
VNC模式:
- 调试浏览器自动化
- 开发和测试
- 浏览器操作的视觉验证
- 演示浏览器功能
替代方案
选项3:X11转发(Linux/macOS)
# Linux
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix playwright-mcp-server:latest
# macOS (with XQuartz)
xhost +localhost
docker run -it --rm -e DISPLAY=host.docker.internal:0 playwright-mcp-server:latest