Skip to main content
Glama
torohash

Playwright SSE MCP Server

by torohash

剧作家-sse-mcp-服务器

这是提供 Playwright 作为 MCP(模型上下文协议)服务器的服务。通过使用此服务器,您可以从 MCP 客户端使用 Playwright 的功能。

先决条件

  • Docker 安装

  • Docker-compose 安装

  • 已创建名为 mcp-network 的 Docker 网络。

如果 mcp-network 不存在,您可以使用以下命令创建它:

docker network create mcp-network

Related MCP server: Playwright Server MCP

如何设置和启动

  1. 克隆或下载存储库

  2. 在项目根目录下运行以下命令:

docker compose up --build

这将在默认端口 3002 上启动服务器。启动完成后,您将看到以下消息:

playwright-sse-mcp-server  | Server is running on port 3002

配置自定义端口

如果要在默认端口(3002)以外的端口上启动服务器,请设置PORT环境变量:

PORT=4000 docker compose up --build

这将在您指定的端口上启动服务器(本例中为 4000):

playwright-sse-mcp-server  | Server is running on port 4000

如何使用

来自参与同一 mcp 网络的容器的连接

从参与同一 mcp 网络的其他容器,您可以使用以下 URL 连接到服务器(其中PORT是服务器的启动端口):

playwright-sse-mcp-server:${PORT}/sse

如果您使用默认端口:

playwright-sse-mcp-server:3002/sse

这使您可以利用 Playwright 的 MCP 功能。

从主机端连接

从主机,您可以使用以下 URL 连接到服务器(其中PORT是服务器的运行端口):

localhost:${PORT}/sse

如果您使用默认端口:

localhost:3002/sse

从 Roo 代码连接

MCP 服务器 -> 编辑 MCP 设置 -> 填写以下内容( PORT为服务器启动端口):

{
  "mcpServers": {
    "playwright-sse-mcp-server-local": {
      "url": "http://localhost:${PORT}/sse"
    }
  }
}

如果您使用默认端口:

{
  "mcpServers": {
    "playwright-sse-mcp-server-local": {
      "url": "http://localhost:3002/sse"
    }
  }
}

*截至 2025 年 3 月 27 日,Cline 不再支持 SSE,因此无法使用。

在容器环境中从 Roo Code 进行连接

从在同一 Docker 网络上运行的 Roo Code 容器中,按如下方式配置 MCP:

{
  "mcpServers": {
    "playwright-sse-mcp-server-local": {
      "url": "http://playwright-sse-mcp-server:3002/sse"
    }
  }
}

docker-compose.yml 配置示例:

services:
  # Roo Code コンテナ
  roo-code:
    # 略

networks:
  mcp-network:
    external: true

通过此设置,您可以从Roo Code容器连接到playwright-sse-mcp-server容器并使用浏览器操作功能。通过使用容器名称( playwright-sse-mcp-server )作为主机名,可以在 Docker 网络内进行名称解析。

从开发容器环境中的 Roo Code 进行连接(通过主机)

如果您希望在开发容器中运行 Roo Code 并通过主机连接到此 MCP 服务器而不加入mcp-network ,请按如下方式配置 MCP:

对于 Docker Desktop(Mac/Windows):

{
  "mcpServers": {
    "playwright-sse-mcp-server-local": {
      "url": "http://host.docker.internal:<PORT>/sse"
    }
  }
}

对于 Linux(例如:使用桥接网关 IP):

{
  "mcpServers": {
    "playwright-sse-mcp-server-local": {
      "url": "http://172.17.0.1:<PORT>/sse"
    }
  }
}

笔记:

  • 将<PORT>替换为您的 MCP 服务器在主机上公开的端口号(默认值:3002)。

  • 对于 Linux,将172.17.0.1替换为您的实际主机 IP 地址或 Docker 桥接网络的网关 IP 地址。有关详细信息,请参阅从开发容器(通过主机)连接部分。

从开发容器连接(通过主机)

如果您需要从不属于mcp-network的开发容器访问此 MCP 服务器(例如,当由于现有项目而难以更改网络时),您可以通过主机连接。

使用此方法,您可以从开发容器的角度指定“主机”的 IP 地址或特殊 DNS 名称,以及 MCP 服务器在主机上公开的端口(由compose.yml中的ports设置,默认值为 3002)。

目标网址:

http://<host_ip_or_dns_name>:<PORT>/sse

将<PORT>替换为 MCP 服务器正在运行的端口号。

如何确定<host_ip_or_dns_name> :

  • **Docker Desktop(Mac/Windows):**您可以使用特殊的 DNS 名称host.docker.internal 。

    • 例如: http://host.docker.internal:3002/sse

  • Linux:

    • **主机 IP 地址:**使用分配给主机上网络接口的 IP 地址(例如,使用ifconfig或ip addr命令找到的)。

      • 例如: http://192.168.1.10:3002/sse 3002/sse(IP 地址可能因您的环境而异)

    • **Docker 桥接网络网关:**可以使用 Docker 默认桥接网络( bridge )的网关 IP 地址,通常为172.17.0.1 。您可以使用docker network inspect bridge命令检查这一点。

      • 例如: http://172.17.0.1:3002/sse 3002/sse

请注意:

  • 根据主机的防火墙设置,您的开发容器可能不被允许访问主机上的端口。

  • 使用docker compose ps命令或在compose.yml文件中检查要使用的端口号。

使用方便

每次都要进入项目目录并运行docker compose命令,很繁琐。您可以使用以下方法从任何地方轻松启动和停止服务器:

Shell脚本方法

该项目包含 shell 脚本,可以轻松启动和停止服务器并查看日志。

  1. 克隆或下载项目:

# 任意のディレクトリにクローン
git clone https://github.com/torohash/playwright-sse-mcp-server.git /path/to/installation
  1. 将以下行添加到.bashrc (或.zshrc或您正在使用的任何 shell 配置文件)以获取 shell 脚本:

# Playwright MCP Server
export PLAYWRIGHT_MCP_HOME="/path/to/installation"
source "$PLAYWRIGHT_MCP_HOME/scripts/playwright-mcp.sh"

# 具体例(絶対パス利用)
export PLAYWRIGHT_MCP_HOME="$HOME/mcps/playwright-sse-mcp-server"  # 実際のパスに置き換えてください
source "$PLAYWRIGHT_MCP_HOME/scripts/playwright-mcp.sh"
  1. 重新启动 shell 或重新加载配置文件:

source ~/.bashrc

现在您可以从任何地方使用以下命令:

基本用法

  • playwright-mcp-start - 使用默认设置启动服务器(端口 3002,无需重启)

  • playwright-mcp-stop - 停止服务器

  • playwright-mcp-logs - 查看服务器日志

使用持久模式

持久模式将确保服务器在系统重启时自动启动:

playwright-mcp-start -p
# または
playwright-mcp-start --persistent

使用自定义端口

playwright-mcp-start -P 4000
# または
playwright-mcp-start --port 4000

将持久模式与自定义端口相结合

playwright-mcp-start -P 4000 -p
# または
playwright-mcp-start --port 4000 --persistent

指定具体的重启策略

playwright-mcp-start -r always
# または
playwright-mcp-start --restart always

获取帮助

playwright-mcp-start -h
# または
playwright-mcp-start --help

此方法更易于使用,因为它为您提供了使用标志选项更改设置的更多灵活性。此外,通过将 shell 脚本分成单独的文件,您的 .bashrc 文件将更简单且更易于维护。

自定义 shell 脚本

shell 脚本位于scripts/playwright-mcp.sh 。您可以编辑此文件以根据您的需要进行自定义。

环境变量

该 shell 脚本使用以下环境变量:

  • PLAYWRIGHT_MCP_HOME :项目安装目录。如果未设置,则会自动从脚本位置检测。

例如,您可以通过设置环境变量来指定自定义路径,如下所示:

export PLAYWRIGHT_MCP_HOME="/path/to/custom/installation"

笔记

  • 该服务器以无头模式运行 Playwright

  • 服务器使用 SSE(服务器发送事件)与 MCP 客户端进行通信

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
    32
    11,440 npm
    5,661
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.
    6
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in a real browser environment.
    32
    11,440 npm
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that provides browser automation capabilities via Playwright using Server-Sent Events (SSE). It enables clients to perform web operations and scraping through a containerized Docker environment.
    -