
Playwright Universal MCP

2025.03.26
0
Python浏览器自动化AI助手支持浏览器自动化
Playwright Universal MCP 是一个通用的浏览器自动化服务,基于 Model Context Protocol (MCP) 协议,专为容器化环境和有限权限环境设计。它支持多种浏览器,并提供丰富的浏览器控制功能,适用于AI助手如Claude、GPT-4等的浏览器自动化需求。
View on GitHub
Overview
基本能力
产品定位
Playwright Universal MCP 是一个通用的浏览器自动化服务,旨在为AI助手提供可靠的浏览器控制能力,特别是在容器化环境中。
核心功能
- 多浏览器支持:支持 Chromium、Chrome、Microsoft Edge、Firefox 和 WebKit。
- 容器友好:适用于有限权限环境,如Docker容器。
- 无头/有头模式:支持无头模式(服务器环境)和有头模式(调试)。
- 丰富的浏览器控制:包括导航、点击、输入、截图等功能。
- 多页面支持:支持创建和管理多个浏览器页面/标签。
适用场景
- AI助手的浏览器自动化任务。
- 容器化环境中的浏览器自动化测试。
- 需要多浏览器支持的自动化任务。
工具列表
navigate
:导航到指定URL。click
:通过选择器或文本点击元素。type
:在输入元素中输入文本。get_text
:获取元素的文本内容。get_page_content
:获取当前页面的HTML内容。take_screenshot
:截取当前页面的截图。new_page
:创建新的浏览器页面。switch_page
:切换到不同的浏览器页面。get_pages
:列出所有可用的浏览器页面。wait_for_selector
:等待页面上的元素可见。get_browser_info
:获取当前浏览器会话的信息。
常见问题解答
- 如何安装浏览器?:使用
playwright install
命令安装所需的浏览器。 - 如何在容器中使用?:参考提供的Dockerfile示例进行容器化部署。
- 如何调试?:使用
--debug
参数启用调试日志。
使用教程
使用依赖
确保已安装 Python 3.10 或更高版本。
安装教程
选项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
调试方式
# 启动默认选项(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"