Playwright Universal MCP
用于在容器化环境中进行浏览器自动化的通用 Playwright MCP 服务器
xkiranj
README
Playwright 通用 MCP
一个通用的 模型上下文协议 (MCP) 服务器,用于浏览器自动化,可在具有有限权限的容器化环境中可靠地工作。它为 Claude、GPT-4 等 AI 助手提供浏览器控制功能。
特性
- 🌐 多浏览器支持:在 Chromium、Chrome、Microsoft Edge、Firefox 或 WebKit 之间选择
- 🐳 容器友好:可在具有有限权限的环境中工作(如 Docker 容器)
- 👁️ 无头/有头模式:在服务器环境中以无头模式运行,或以有头模式进行调试
- 🛠️ 广泛的浏览器控制:导航、点击、输入、截屏等
- 📄 多页面支持:创建和管理多个浏览器页面/标签
安装
选项 1:使用 pipx 安装(推荐)
# 安装 MCP Python SDK
pip install git+https://github.com/microsoft/mcp-python-sdk.git
# 全局安装 MCP 服务器
pipx install playwright-universal-mcp
# 安装所需的浏览器
playwright install chromium
# 可选:安装其他浏览器
playwright install firefox webkit msedge chrome
选项 2:在 Python 虚拟环境中安装
# 创建并激活虚拟环境
python -m venv playwright-mcp-venv
source playwright-mcp-venv/bin/activate
# 安装 MCP Python SDK
pip install git+https://github.com/microsoft/mcp-python-sdk.git
# 安装包
pip install playwright-universal-mcp
# 安装浏览器
playwright install chromium
选项 3:从源代码安装
# 克隆仓库
git clone https://github.com/xkiranj/playwright-universal-mcp.git
cd playwright-universal-mcp
# 安装 MCP Python SDK
pip install git+https://github.com/microsoft/mcp-python-sdk.git
# 安装包
pip install -e .
# 安装浏览器
playwright install chromium
用法
命令行选项
playwright-universal-mcp --help
usage: playwright-universal-mcp [-h] [--browser {chromium,firefox,webkit,msedge,chrome}] [--headless] [--headful] [--debug] [--browser-arg BROWSER_ARG]
Universal Playwright MCP server with multi-browser support
options:
-h, --help show this help message and exit
--browser {chromium,firefox,webkit,msedge,chrome}, -b {chromium,firefox,webkit,msedge,chrome}
Browser to use (default: chromium)
--headless Run browser in headless mode (default: true)
--headful Run browser in headful mode (with GUI)
--debug Enable debug logging
--browser-arg BROWSER_ARG
Additional browser arguments (can be specified multiple times)
基本示例
# 使用默认选项启动(无头模式下的 Chromium)
playwright-universal-mcp
# 使用 Microsoft Edge
playwright-universal-mcp --browser msedge
# 在有头模式下使用 Firefox(可见的浏览器窗口)
playwright-universal-mcp --browser firefox --headful
# 启用调试日志
playwright-universal-mcp --debug
# 将其他参数传递给浏览器
playwright-universal-mcp --browser-arg="--disable-gpu" --browser-arg="--window-size=1920,1080"
MCP 配置
要将此 MCP 服务器与 Claude Desktop 或其他启用 MCP 的应用程序一起使用,请添加以下配置:
Claude Desktop 配置
将以下内容添加到您的 ~/.config/Claude/claude_desktop_config.json
文件中:
{
"mcpServers": {
"browser": {
"command": "playwright-universal-mcp",
"args": ["--browser", "msedge", "--headless"]
}
}
}
作为 PM2 服务运行
要使用 PM2 将 MCP 服务器作为持久服务运行:
- 创建一个 PM2 配置文件:
cat > ~/playwright-universal-mcp.config.js << 'EOF'
module.exports = {
apps: [{
name: "playwright-universal-mcp",
script: "playwright-universal-mcp",
args: "--browser msedge --headless",
watch: false,
autorestart: true,
restart_delay: 3000
}]
}
EOF
- 启动服务:
pm2 start ~/playwright-universal-mcp.config.js
- 保存 PM2 进程列表:
pm2 save
容器化用法
此 MCP 服务器在容器化环境中运行良好。这是一个简单的 Dockerfile 示例:
FROM python:3.10-slim
# 安装依赖
RUN apt-get update && apt-get install -y \
wget \
gnupg \
&& rm -rf /var/lib/apt/lists/*
# 安装包
RUN pip install playwright-universal-mcp
# 安装浏览器(安装您需要的浏览器)
RUN playwright install chromium
# 运行 MCP 服务器
ENTRYPOINT ["playwright-universal-mcp", "--headless"]
可用浏览器工具
MCP 服务器提供以下工具:
navigate
: 导航到 URLclick
: 通过选择器或文本点击元素type
: 将文本输入到输入元素中get_text
: 从元素获取文本内容get_page_content
: 获取当前页面 HTML 内容take_screenshot
: 截取当前页面的屏幕截图new_page
: 创建一个新的浏览器页面switch_page
: 切换到不同的浏览器页面get_pages
: 列出所有可用的浏览器页面wait_for_selector
: 等待元素在页面上可见get_browser_info
: 获取有关当前浏览器会话的信息
许可证
MIT 许可证
致谢
本项目基于:
- Playwright 用于浏览器自动化
- 模型上下文协议 (MCP) 用于连接标准
- MCP Python SDK 用于 MCP 实现
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
@kazuph/mcp-fetch
用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。
DuckDuckGo MCP Server
一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。
YouTube Transcript MCP Server
这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。
The Verge News MCP Server
提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。
Tavily MCP Server
使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。
mcp-pinterest
用于图像搜索和信息检索的 Pinterest 模型上下文协议 (MCP) 服务器

Crawlab MCP Server