
Playwright MCP Server

2025.04.23
0
TypeScript浏览器自动化AI 代理网页交互浏览器自动化开发效率
Playwright MCP Server 是一个基于 Playwright 的浏览器自动化服务,通过 Model Context Protocol (MCP) 提供无服务器的云端浏览器功能。它利用 Playwright 的可访问性树而非基于像素的输入,实现更快、更轻量的操作。该服务专注于结构化数据交互,无需视觉模型即可完成网页导航、表单填写、数据提取等任务。
View on GitHub
Overview
基本能力
产品定位
Playwright MCP Server 是一个浏览器自动化服务,专为 LLM(大型语言模型)和 AI 代理设计,提供结构化的网页交互能力。
核心功能
- 🚀 使用 Playwright 的可访问性树进行交互,避免像素级输入
- 📊 仅处理结构化数据,无需视觉模型
- 🎯 确定性工具应用,避免截图方法的模糊性
适用场景
- 🌐 网页导航和表单填写
- 📋 结构化数据提取
- 🧪 LLM 驱动的自动化测试
- 🤖 AI 代理的浏览器自动化
工具列表
Snapshot-based Interactions
- browser_snapshot: 捕获当前页面的可访问性快照
- browser_click: 点击网页元素
- browser_drag: 拖放元素
- browser_hover: 悬停在元素上
- browser_type: 在可编辑元素中输入文本
- browser_select_option: 选择下拉选项
- browser_take_screenshot: 截取页面截图
Vision-based Interactions
- browser_screen_capture: 截取页面截图
- browser_screen_move_mouse: 移动鼠标到指定位置
- browser_screen_click: 点击鼠标左键
- browser_screen_drag: 拖拽鼠标
- browser_screen_type: 输入文本
Tab Management
- browser_tab_list: 列出浏览器标签页
- browser_tab_new: 打开新标签页
- browser_tab_select: 选择标签页
- browser_tab_close: 关闭标签页
Navigation
- browser_navigate: 导航到指定 URL
- browser_navigate_back: 返回上一页
- browser_navigate_forward: 前进到下一页
Keyboard
- browser_press_key: 按下键盘按键
Console
- browser_console_messages: 获取控制台消息
Files and Media
- browser_file_upload: 上传文件
- browser_pdf_save: 保存页面为 PDF
Utilities
- browser_close: 关闭页面
- browser_wait: 等待指定时间
- browser_resize: 调整浏览器窗口大小
- browser_install: 安装浏览器
- browser_handle_dialog: 处理对话框
常见问题解答
- 如果遇到浏览器未安装的错误,可以调用
browser_install
工具安装浏览器。
使用教程
使用依赖
安装 Node.js 和 npm。
安装教程
- 克隆项目仓库:
git clone https://github.com/microsoft/playwright-mcp.git
- 安装依赖:
npm install
- 启动服务:
npm start
调试方式
- 检查服务是否运行:
curl http://localhost:3000/health
- 使用工具进行交互,例如捕获快照:
curl -X POST http://localhost:3000/tools/browser_snapshot