使用说明

项目简介

Deno 2 Playwright MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 通过标准化的 MCP 协议,利用 Playwright 浏览器自动化库与网页进行交互。该服务器旨在为 LLM 应用提供与 Web 内容交互的能力,扩展 LLM 的应用场景。

主要功能点

  • 浏览器自动化工具: 提供一系列工具,使 LLM 能够控制浏览器执行各种操作,包括:
    • 网页导航: 访问指定 URL 的网页。
    • 网页截图: 截取整个网页或特定元素的截图。
    • 元素交互: 模拟用户在网页上的点击、输入、选择和悬停等操作。
    • JavaScript 执行: 在浏览器环境中执行 JavaScript 代码并获取结果。
  • 资源管理: 将浏览器的控制台日志和网页截图作为资源进行管理和访问,LLM 可以通过 MCP 协议获取这些资源。
  • 标准 MCP 协议: 完全遵循 MCP 协议规范,确保与任何兼容 MCP 协议的 LLM 客户端无缝对接。

安装步骤

  1. 安装 Deno: 如果您的系统尚未安装 Deno 运行时,请先安装 Deno。访问 https://deno.land 获取安装指南。
  2. 克隆仓库: 将仓库 'MCP-Mirror/jakedahn_deno2-playwright-mcp-server' 克隆到本地。
    git clone https://github.com/MCP-Mirror/jakedahn_deno2-playwright-mcp-server
    cd jakedahn_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 客户端(例如 Claude)连接到此服务器,您需要配置客户端的 MCP 服务器设置。以 Claude Desktop 为例,您需要编辑 '~/Library/Application\ Support/Claude/claude_desktop_config.json' 文件,添加或修改 'mcpServers' 配置项。

以下是一个配置示例,请根据实际情况修改 'command' 路径:

{
  "mcpServers": {
    "playwright": {
      "command": "/path/to/jakedahn_deno2-playwright-mcp-server/playwright-server"
    }
  }
}

配置参数说明:

  • '"playwright"': 服务器名称,您可以自定义,用于在客户端中标识该服务器。
  • '"command"': 指向 'playwright-server' 可执行文件的绝对路径。请将 '/path/to/jakedahn_deno2-playwright-mcp-server/playwright-server' 替换为实际的路径。

注意: 请确保可执行文件 'playwright-server' 具有执行权限。

基本使用方法

  1. 启动服务器: 无需手动启动服务器,当 MCP 客户端(如 Claude)需要使用 'playwright' 服务器时,会自动根据配置启动该服务器。
  2. 客户端发起请求: 在 MCP 客户端中,当需要执行浏览器自动化任务时,客户端会根据 MCP 协议向 'playwright' 服务器发送请求,例如调用 'playwright_navigate' 工具导航到指定网页,或调用 'playwright_screenshot' 工具截取网页截图。
  3. 服务器处理请求: 'playwright' 服务器接收到请求后,会调用 Playwright 库执行相应的浏览器操作,并将结果以 MCP 响应格式返回给客户端。
  4. 客户端获取结果: MCP 客户端解析服务器返回的响应,获取工具执行结果或资源内容,并将其用于后续的 LLM 应用流程中。

例如,LLM 可能会指示服务器导航到某个网页并提取信息,或者在用户与网页交互后截取屏幕截图以供分析。具体的交互方式取决于 LLM 客户端的功能和设计。

信息

分类

开发者工具