Playwright MCP Server 使用说明

项目简介

Playwright MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它利用 Playwright 浏览器自动化工具,为大型语言模型 (LLM) 客户端提供强大的网页浏览和信息获取能力。通过 MCP 协议,该服务器可以作为 LLM 的扩展工具,使其能够访问互联网内容、提取网页信息,并模拟用户在网页上的操作。

主要功能点

  • 网页导航 (navigate): 允许 LLM 指示服务器访问指定的 URL,打开网页。
  • 全页内容抓取 (get_all_content): 获取当前网页的完整 HTML 内容,并解析为结构化文本。
  • 可见内容抓取 (get_visible_content): 仅抓取当前网页可视区域的内容,减少信息噪音。
  • 交互元素定位 (get_interactive_elements): 识别网页上的按钮、链接、输入框等可交互元素,并返回它们的位置和属性信息。
  • 鼠标操作模拟 (move_mouse, mouse_click, mouse_wheel, drag_and_drop): 允许 LLM 指示服务器模拟鼠标移动、点击、滚动和拖拽等用户操作,与网页进行交互。
  • 回声测试 (echo): 用于测试服务器连接和工具调用的简单工具。

安装步骤

  1. 手动安装: 打开终端,克隆或下载该仓库代码到本地,并进入项目根目录,运行以下命令安装依赖:
    npm install
  2. 构建项目: 安装完成后,运行以下命令构建项目,生成可执行的 JavaScript 代码:
    npm run build

服务器配置

MCP 客户端需要配置以下信息才能连接到 Playwright MCP Server。配置信息为 JSON 格式,通常在客户端的服务器配置或插件配置中设置。

{
  "serverName": "Playwright MCP Server",
  "command": "npm",
  "args": ["start"]
}
  • 'serverName': 服务器的名称,可以自定义,用于在客户端中标识该服务器,例如 "Playwright MCP Server"。
  • 'command': 启动服务器的命令。由于该项目使用 npm 管理和启动,这里设置为 'npm'。
  • 'args': 启动命令的参数。'npm start' 是启动该服务器的标准命令,因此参数设置为 '["start"]'。

请注意: MCP 客户端通常会自动查找并执行 'command' 和 'args' 指定的命令来启动 MCP 服务器,用户无需手动执行。

基本使用方法

  1. 启动服务器: 在完成安装和构建后,在项目根目录下运行 'npm start' 命令启动 Playwright MCP Server。服务器启动后,会通过标准输入输出 (stdio) 监听 MCP 客户端的请求。
  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,添加或配置服务器,填入上述 JSON 格式的服务器配置信息。确保客户端配置正确的连接方式 (stdio)。
  3. 调用工具: 当客户端成功连接到 Playwright MCP Server 后,你就可以在客户端中调用服务器提供的各种工具,例如 'navigate'、'get_all_content' 等。工具的具体名称、参数和使用方法请参考仓库的 'README.md' 文件或工具定义。

示例工具调用 (在 MCP 客户端中):

{
  "method": "call_tool",
  "params": {
    "name": "navigate",
    "arguments": {
      "url": "https://www.example.com"
    }
  }
}

这个 JSON 请求会指示 Playwright MCP Server 使用 'navigate' 工具访问 'https://www.example.com' 网页。

注意事项

  • 确保你的运行环境中已安装 Node.js 和 npm。
  • 首次运行可能需要下载 Playwright 浏览器,请耐心等待。
  • 使用网页抓取功能时,请遵守目标网站的服务条款和 robots.txt 协议,合理使用,避免对网站造成过大压力。
  • 模拟鼠标操作时,请谨慎使用,确保操作符合预期,避免误操作。

信息

分类

网页与API