mcpField
P
Playwright MCP Docker Environment

Playwright MCP Docker Environment

远程服务
github.com/iuill浏览器自动化3513 周前更新
代码仓库

关于 Playwright MCP Docker Environment

Playwright MCP Docker Environment 是一个 Docker Compose 环境,用于运行 @playwright/mcp 服务。它适合希望通过容器快速部署 Playwright MCP 服务,并在 Cline 或 Cursor 等客户端中使用的用户。该仓库已不再维护,官方仓库已提供相应的 Docker 镜像和配置说明。

主要功能

  1. 01使用 Docker Compose 启动 @playwright/mcp 服务
  2. 02通过 .env 文件配置端口和运行模式
  3. 03支持无头模式与有头模式切换
  4. 04基于 SSE 连接的 MCP 客户端配置示例

适用场景

  1. 01在容器中运行 Playwright MCP 服务供本地客户端使用
  2. 02在 WSLg 环境下以有头模式运行浏览器

MCP 相关

该项目运行 @playwright/mcp 服务,并通过 SSE 地址供 Cline、Cursor 等 MCP 客户端连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://localhost:8931/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

重要

此仓库已不再维护。

请参阅官方 Playwright MCP 仓库,获取其 Docker 镜像 和设置说明。Playwright CLI 也可作为替代方案, 尤其适用于编码 Agent 工作流:

https://github.com/microsoft/playwright-mcp

Playwright MCP Docker 环境

日本語版はこちら (日文版请见此处)

此项目提供了一个 Docker Compose 环境,用于运行 @playwright/mcp 服务。你可以轻松设置和管理 Playwright MCP 服务,以便与 Cline 或 Cursor 等客户端搭配使用。

前提条件

  • Docker
  • Docker Compose

设置

  1. 克隆仓库:
    git clone <repository-url>
    cd playwright-mcp-docker
    
  2. 创建 .env 文件: 复制示例环境文件:
    cp .env.sample .env
    
  3. 配置 .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)。

运行服务

  1. 构建并启动容器:

    docker-compose up --build -d
    

    仅在首次运行或 Dockerfile 发生更改时才需要 --build 标志。-d 标志会以分离模式(在后台)运行容器。

  2. 配置 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。