返回市场
playwright-mcp-容器镜像

playwright-mcp-容器镜像

作者:iuill28 星标更新:2025-08-09

项目介绍

Playwright MCP Docker环境

日语版请点击 (Japanese version here)

此项目提供了一个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以启用无头模式(无浏览器GUI),或设置为false以启用有头模式(需要GUI设置)。默认值是true
    • (仅限有头模式) DISPLAY, WAYLAND_DISPLAY, XDG_RUNTIME_DIR:Linux环境下GUI应用程序所需的环境变量(尤其是WSLg)。提供了默认值。
    • (仅限有头模式) X11_HOST_PATH, WSLG_HOST_PATH:X11和WSLg套接字/目录的主机路径。提供了默认值。如果您的系统配置不同,请进行调整。对于Windows Docker访问WSL路径,使用\\wsl.localhost\DistroName\...格式(参见.env.sample)。

运行服务器

  1. 构建并启动容器:

    docker-compose up --build -d
    

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

  2. 配置MCP客户端(例如VSCode/Cline):

    • 添加或启用名为playwright_sse(或您喜欢的任何名称)的MCP服务器。
    • 将连接类型设置为SSE
    • 将URL设置为http://localhost:<MCP_HOST_PORT>/sse(用.env文件中的值替换<MCP_HOST_PORT>,例如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