remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides containerized environment for running the Playwright MCP server, allowing integration with other services through Docker networks and environment variables for deployment flexibility.
Offers specific configuration options for running the Playwright MCP server in Linux environments, including special network addressing considerations.
Provides persistence options for the server, allowing automatic startup on system reboot through a dedicated persistent mode.
剧作家-sse-mcp-服务器
这是提供 Playwright 作为 MCP(模型上下文协议)服务器的服务。通过使用此服务器,您可以从 MCP 客户端使用 Playwright 的功能。
先决条件
- Docker 安装
- Docker-compose 安装
- 已创建名为 mcp-network 的 Docker 网络。
如果 mcp-network 不存在,您可以使用以下命令创建它:
如何设置和启动
- 克隆或下载存储库
- 在项目根目录下运行以下命令:
这将在默认端口 3002 上启动服务器。启动完成后,您将看到以下消息:
配置自定义端口
如果要在默认端口(3002)以外的端口上启动服务器,请设置PORT
环境变量:
这将在您指定的端口上启动服务器(本例中为 4000):
如何使用
来自参与同一 mcp 网络的容器的连接
从参与同一 mcp 网络的其他容器,您可以使用以下 URL 连接到服务器(其中PORT
是服务器的启动端口):
如果您使用默认端口:
这使您可以利用 Playwright 的 MCP 功能。
从主机端连接
从主机,您可以使用以下 URL 连接到服务器(其中PORT
是服务器的运行端口):
如果您使用默认端口:
从 Roo 代码连接
MCP 服务器 -> 编辑 MCP 设置 -> 填写以下内容( PORT
为服务器启动端口):
如果您使用默认端口:
*截至 2025 年 3 月 27 日,Cline 不再支持 SSE,因此无法使用。
在容器环境中从 Roo Code 进行连接
从在同一 Docker 网络上运行的 Roo Code 容器中,按如下方式配置 MCP:
docker-compose.yml 配置示例:
通过此设置,您可以从Roo Code容器连接到playwright-sse-mcp-server容器并使用浏览器操作功能。通过使用容器名称( playwright-sse-mcp-server
)作为主机名,可以在 Docker 网络内进行名称解析。
从开发容器环境中的 Roo Code 进行连接(通过主机)
如果您希望在开发容器中运行 Roo Code 并通过主机连接到此 MCP 服务器而不加入mcp-network
,请按如下方式配置 MCP:
对于 Docker Desktop(Mac/Windows):
对于 Linux(例如:使用桥接网关 IP):
笔记:
- 将
<PORT>
替换为您的 MCP 服务器在主机上公开的端口号(默认值:3002)。 - 对于 Linux,将
172.17.0.1
替换为您的实际主机 IP 地址或 Docker 桥接网络的网关 IP 地址。有关详细信息,请参阅从开发容器(通过主机)连接部分。
从开发容器连接(通过主机)
如果您需要从不属于mcp-network
的开发容器访问此 MCP 服务器(例如,当由于现有项目而难以更改网络时),您可以通过主机连接。
使用此方法,您可以从开发容器的角度指定“主机”的 IP 地址或特殊 DNS 名称,以及 MCP 服务器在主机上公开的端口(由compose.yml
中的ports
设置,默认值为 3002)。
目标网址:
将<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
- 例如:
- **主机 IP 地址:**使用分配给主机上网络接口的 IP 地址(例如,使用
请注意:
- 根据主机的防火墙设置,您的开发容器可能不被允许访问主机上的端口。
- 使用
docker compose ps
命令或在compose.yml
文件中检查要使用的端口号。
使用方便
每次都要进入项目目录并运行docker compose命令,很繁琐。您可以使用以下方法从任何地方轻松启动和停止服务器:
Shell脚本方法
该项目包含 shell 脚本,可以轻松启动和停止服务器并查看日志。
- 克隆或下载项目:
- 将以下行添加到
.bashrc
(或.zshrc
或您正在使用的任何 shell 配置文件)以获取 shell 脚本:
- 重新启动 shell 或重新加载配置文件:
现在您可以从任何地方使用以下命令:
基本用法
playwright-mcp-start
- 使用默认设置启动服务器(端口 3002,无需重启)playwright-mcp-stop
- 停止服务器playwright-mcp-logs
- 查看服务器日志
使用持久模式
持久模式将确保服务器在系统重启时自动启动:
使用自定义端口
将持久模式与自定义端口相结合
指定具体的重启策略
获取帮助
此方法更易于使用,因为它为您提供了使用标志选项更改设置的更多灵活性。此外,通过将 shell 脚本分成单独的文件,您的 .bashrc 文件将更简单且更易于维护。
自定义 shell 脚本
shell 脚本位于scripts/playwright-mcp.sh
。您可以编辑此文件以根据您的需要进行自定义。
环境变量
该 shell 脚本使用以下环境变量:
PLAYWRIGHT_MCP_HOME
:项目安装目录。如果未设置,则会自动从脚本位置检测。
例如,您可以通过设置环境变量来指定自定义路径,如下所示:
笔记
- 该服务器以无头模式运行 Playwright
- 服务器使用 SSE(服务器发送事件)与 MCP 客户端进行通信
This server cannot be installed
该服务通过模型上下文协议 (MCP) 提供 Playwright 浏览器自动化功能,允许客户端通过 SSE 连接使用 Playwright 功能。