Playwright MCP Server

Playwright MCP Server

site icon
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。

安装教程

  1. 克隆项目仓库:
git clone https://github.com/microsoft/playwright-mcp.git
  1. 安装依赖:
npm install
  1. 启动服务:
npm start

调试方式

  1. 检查服务是否运行:
curl http://localhost:3000/health
  1. 使用工具进行交互,例如捕获快照:
curl -X POST http://localhost:3000/tools/browser_snapshot

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。