项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 Playwright 库为大型语言模型 (LLM) 提供强大的浏览器自动化功能。通过此服务器,LLM 可以与网页进行交互,例如浏览网页、截取屏幕截图、填写表单、点击按钮以及执行 JavaScript 代码。这极大地扩展了 LLM 在处理网络信息和执行在线任务方面的能力。

主要功能点

  • 网页导航: 允许 LLM 控制浏览器访问指定的 URL。
  • 屏幕截图: 支持 LLM 截取整个网页或特定元素的屏幕截图,并以图片资源的形式提供。
  • 元素操作: 提供一系列工具,使 LLM 能够模拟用户在网页上的操作,包括点击元素、填写输入框、选择下拉选项和悬停鼠标等。
  • JavaScript 执行: 允许 LLM 在浏览器环境中执行 JavaScript 代码,获取网页的动态信息或执行更复杂的操作。
  • 控制台日志: 将浏览器的控制台日志作为资源提供给 LLM,方便调试和监控网页行为。
  • 资源管理: 服务器将屏幕截图和控制台日志作为资源进行管理,LLM 可以按需访问和使用这些资源。

安装步骤

  1. 安装 Deno: 确保您的系统已安装 Deno 运行时环境 (版本 2 或更高)。您可以访问 Deno 官网 按照指引进行安装。
  2. 克隆仓库: 使用 Git 克隆该仓库到本地:
    git clone https://github.com/jakedahn/deno2-playwright-mcp-server
    cd deno2-playwright-mcp-server
  3. 构建服务器二进制文件: 根据您的操作系统,运行相应的 Deno task 命令来构建可执行的服务器二进制文件。
    • macOS: 'deno task build-mac'
    • Linux x86_64: 'deno task build-linux-x86_64'
    • Linux ARM64: 'deno task build-linux-ARM64'
    • Windows x86_64: 'deno task build-windows-x86_64' 构建成功后,会在仓库根目录下生成名为 'playwright-server' (或 'playwright-server.exe' for Windows) 的二进制文件。

服务器配置 (MCP 客户端)

要将此 MCP 服务器与 MCP 客户端(例如 Claude)配合使用,您需要在客户端的配置文件中指定服务器的启动命令。以下是针对 Claude Desktop 客户端的配置示例,您需要修改 '~/Library/Application Support/Claude/claude_desktop_config.json' 文件(路径可能因客户端版本而异)。

在 '"mcpServers"' 字段下添加如下配置块:

{
  "mcpServers": {
    "playwright": {
      "command": "/path/to/deno2-playwright-mcp-server/playwright-server"
      // "command" 字段指定了 playwright-server 二进制文件的绝对路径。
      // 请将 "/path/to/deno2-playwright-mcp-server/playwright-server" 替换为您实际的二进制文件路径。
    }
  }
}
  • 'server name': '"playwright"' 您可以自定义服务器名称,但请确保与客户端配置保持一致。
  • 'command': 服务器二进制文件(例如 'playwright-server')的绝对路径。

基本使用方法

  1. 启动 MCP 客户端: 配置完成后,启动您的 MCP 客户端(例如 Claude)。客户端通常会在需要时自动启动配置的 MCP 服务器。

  2. LLM 调用工具: 在 LLM 客户端中,您可以使用预定义的工具来控制浏览器。例如:

    • 使用 'playwright_navigate' 工具导航到指定网页。
    • 使用 'playwright_screenshot' 工具截取网页截图。
    • 使用 'playwright_click' 工具点击网页元素。
    • 更多工具及其使用方法请参考 'main.ts' 文件中 'TOOLS' 数组的定义。

    具体的工具调用方式取决于 LLM 客户端的界面和交互方式。请参考您使用的 LLM 客户端的文档以了解如何使用 MCP 服务器提供的工具。

注意: 首次运行服务器或执行某些操作时,Playwright 可能会下载浏览器 Chromium,请耐心等待下载完成。

信息

分类

网页与API