关于 Playwright MCP Docker Environment
Playwright MCP Docker Environment 是一个 Docker Compose 环境,用于运行 @playwright/mcp 服务。它适合希望通过容器快速部署 Playwright MCP 服务,并在 Cline 或 Cursor 等客户端中使用的用户。该仓库已不再维护,官方仓库已提供相应的 Docker 镜像和配置说明。
主要功能
- 01使用 Docker Compose 启动 @playwright/mcp 服务
- 02通过 .env 文件配置端口和运行模式
- 03支持无头模式与有头模式切换
- 04基于 SSE 连接的 MCP 客户端配置示例
适用场景
- 01在容器中运行 Playwright MCP 服务供本地客户端使用
- 02在 WSLg 环境下以有头模式运行浏览器
MCP 相关
该项目运行 @playwright/mcp 服务,并通过 SSE 地址供 Cline、Cursor 等 MCP 客户端连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
http://localhost:8931/sse一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http playwright-mcp-docker http://localhost:8931/sseCursor.cursor/mcp.json
{"mcpServers":{"playwright-mcp-docker":{"type":"http","url":"http://localhost:8931/sse"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"playwright-mcp-docker":{"type":"http","url":"http://localhost:8931/sse"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"playwright-mcp-docker":{"type":"http","url":"http://localhost:8931/sse"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"playwright-mcp-docker":{"serverUrl":"http://localhost:8931/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
重要
此仓库已不再维护。
请参阅官方 Playwright MCP 仓库,获取其 Docker 镜像 和设置说明。Playwright CLI 也可作为替代方案, 尤其适用于编码 Agent 工作流:
Playwright MCP Docker 环境
此项目提供了一个 Docker Compose 环境,用于运行 @playwright/mcp 服务。你可以轻松设置和管理 Playwright MCP 服务,以便与 Cline 或 Cursor 等客户端搭配使用。
前提条件
- Docker
- Docker Compose
设置
- 克隆仓库:
git clone <repository-url> cd playwright-mcp-docker - 创建
.env文件: 复制示例环境文件:cp .env.sample .env - 配置
.env: 编辑.env文件,根据你的环境和偏好调整设置:MCP_HOST_PORT:主机上用于访问 MCP 服务的端口(默认值:8931)。HEADLESS:设为true以启用无头模式(不显示浏览器界面),或设为false以启用有头模式(需要配置图形界面)。默认值为true。- (仅限有头模式)
DISPLAY、WAYLAND_DISPLAY、XDG_RUNTIME_DIR:Linux 环境(尤其是 WSLg)中的图形界面应用所需的环境变量。已提供默认值。 - (仅限有头模式)
X11_HOST_PATH、WSLG_HOST_PATH:X11 和 WSLg 套接字/目录的主机路径。已提供默认值。如系统配置不同,请进行调整。对于通过 Windows Docker 访问 WSL 路径,请使用\\wsl.localhost\DistroName\...格式(参见.env.sample)。
运行服务
-
构建并启动容器:
docker-compose up --build -d仅在首次运行或
Dockerfile发生更改时才需要--build标志。-d标志会以分离模式(在后台)运行容器。 -
配置 MCP 客户端(例如 VSCode/Cline):
- 添加或启用名为
playwright_sse(或任意名称)的 MCP 服务。 - 将连接类型设为 SSE。
- 将 URL 设为
http://localhost:<MCP_HOST_PORT>/sse(将<MCP_HOST_PORT>替换为.env文件中的值,例如http://localhost:8931/sse)。 - 客户端配置示例(文件名取决于客户端):
{ "mcpServers": { "playwright_sse": { // 服务名称可任意设置 "url": "http://localhost:8931/sse" // 与 .env 中的端口号一致 } } } - 添加或启用名为
配置详情
- **
.env文件:**管理环境相关设置,例如端口、无头模式以及有头模式所需的路径。 - **
docker-compose.yml:**定义 Docker 服务,从.env读取变量,并设置端口映射和卷。 - **
Dockerfile:**定义 Docker 镜像,安装@playwright/mcp及其依赖项(包括 Chrome)。 - **
entrypoint.sh:**容器启动时运行的脚本,根据HEADLESS环境变量向npx @playwright/mcp命令传递正确的参数(--headless或--port)。
切换模式
- **无头模式:**在
.env中设置HEADLESS=true。重启容器:docker-compose up -d。 - **有头模式:**在
.env中设置HEADLESS=false。确保主机环境(例如 WSLg 或 X Server)已正确配置。重启容器:docker-compose up -d。
有头模式说明(WSLg)
- 如果你在 Windows 上使用 WSLg,
docker-compose.yml中的默认设置以及.env.sample中针对 WSL2 的路径通常都适用。如果你的 WSL 发行版名称不是Ubuntu,请确保.env中的路径与之匹配。 - 如果你不使用 WSLg(例如使用标准 Linux 桌面,或在 macOS/Windows 上使用独立的 X Server),则需要根据 X Server 的设置调整
.env文件中的DISPLAY变量,并可能需要调整卷挂载(X11_HOST_PATH)。
停止服务
docker-compose down
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。