P

Patchright隐秘浏览器自动化服务器

@dylangroos/patchright-mcp-lite
0 Stars 398 次浏览 dylangroos 更新于 2026-08-23

一个精简的模型上下文协议服务器,它使人工智能模型能够使用Patchright进行隐秘的浏览器自动化操作,避免被反机器人系统检测到,同时提供必要的网络交互功能。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "patchright": {
      "args": [
        "path/to/patchright-lite-mcp-server/dist/index.js"
      ],
      "command": "node"
    }
  }
}

服务介绍

Patchright Lite MCP 服务器

一个简化的模型上下文协议(MCP)服务器,它封装了 Patchright Node.js SDK,为 AI 模型提供隐蔽的浏览器自动化功能。这个轻量级服务器专注于基本功能,使更简单的 AI 模型更容易使用。

什么是 Patchright?

Patchright 是 Playwright 测试和自动化框架的一个未被检测到的版本。它被设计为 Playwright 的直接替代品,但具有高级隐身功能以避免被反机器人系统检测到。Patchright 修补了各种检测技术,包括:

  • Runtime.enable 泄漏
  • Console.enable 泄漏
  • 命令标志泄漏
  • 通用检测点
  • 封闭 Shadow Root 交互

此 MCP 服务器封装了 Patchright 的 Node.js 版本,通过简单、标准化的协议使其功能可供 AI 模型使用。

功能

  • 简单接口:专注于核心功能,仅包含 4 个基本工具
  • 隐身自动化:使用 Patchright 的隐身模式以避免检测
  • MCP 标准:实现模型上下文协议以便于 AI 集成
  • 标准输入/输出传输:使用标准输入/输出进行无缝集成

先决条件

  • Node.js 18+
  • npm 或 yarn

安装

  1. 克隆此仓库:
    bash
    git clone https://github.com/yourusername/patchright-lite-mcp-server.git
    cd patchright-lite-mcp-server

  2. 安装依赖项:
    bash
    npm install

  3. 构建 TypeScript 代码:
    bash
    npm run build

使用

运行服务器:

bash
npm start

这将启动带有标准输入/输出传输的服务器,使其准备好与支持 MCP 的 AI 工具集成。

与 AI 模型集成

Claude Desktop

在你的 claude-desktop-config.json 文件中添加以下内容:

json
{
"mcpServers": {
"patchright": {
"command": "node",
"args": ["path/to/patchright-lite-mcp-server/dist/index.js"]
}
}
}

VS Code 与 GitHub Copilot

使用 VS Code CLI 添加 MCP 服务器:

bash
code --add-mcp {"name":"patchright","command":"node","args":["path/to/patchright-lite-mcp-server/dist/index.js"]}

可用工具

该服务器提供了 4 个基本工具:

1. browse

启动浏览器,导航到 URL 并提取内容。

工具: browse
参数: {
"url": "https://example.com",
"headless": true,
"waitFor": 1000
}

返回:

  • 页面标题
  • 可见文本预览
  • 浏览器 ID(用于后续操作)
  • 页面 ID(用于后续操作)
  • 截图路径

2. interact

在页面上执行简单的交互。

工具: interact
参数: {
"browserId": "browse 中获得的浏览器 ID",
"pageId": "browse 中获得的页面 ID",
"action": "click", // 可以是 "click"、"fill" 或 "select"
"selector": "#submit-button",
"value": "Hello World" // 仅在 fill 和 select 时需要
}

返回:

  • 操作结果
  • 当前 URL
  • 截图路径

3. extract

从当前页面提取特定内容。

工具: extract
参数: {
"browserId": "browse 中获得的浏览器 ID",
"pageId": "browse 中获得的页面 ID",
"type": "text" // 可以是 "text"、"html" 或 "screenshot"
}

返回:

  • 根据请求类型提取的内容

4. close

关闭浏览器以释放资源。

工具: close
参数: {
"browserId": "browse 中获得的浏览器 ID"
}

示例使用流程

  1. 启动浏览器并导航到某个站点:

    工具: browse
    参数: {
    "url": "https://example.com/login",
    "headless": false
    }

  2. 填写登录表单:

    工具: interact
    参数: {
    "browserId": "步骤 1 中获得的浏览器 ID",
    "pageId": "步骤 1 中获得的页面 ID",
    "action": "fill",
    "selector": "#username",
    "value": "user@example.com"
    }

  3. 填写密码:

    工具: interact
    参数: {
    "browserId": "步骤 1 中获得的浏览器 ID",
    "pageId": "步骤 1 中获得的页面 ID",
    "action": "fill",
    "selector": "#password",
    "value": "password123"
    }4. 点击登录按钮:

    工具: interact
    参数: {
    "browserId": "来自步骤1的浏览器ID",
    "pageId": "来自步骤1的页面ID",
    "action": "click",
    "selector": "#login-button"
    }

  4. 提取文本以验证登录:

    工具: extract
    参数: {
    "browserId": "来自步骤1的浏览器ID",
    "pageId": "来自步骤1的页面ID",
    "type": "text"
    }

  5. 关闭浏览器:

    工具: close
    参数: {
    "browserId": "来自步骤1的浏览器ID"
    }

安全注意事项

  • 该服务器提供了强大的自动化功能。请负责任地并合乎道德地使用。
  • 避免自动化那些会违反网站服务条款的操作。
  • 注意速率限制,不要用请求过载网站。

许可证

本项目根据MIT许可证发布 - 详情请参阅LICENSE文件。

致谢

  • Kaliiiiiiiiii-Vinyzu 的 patchright-nodejs
  • modelcontextprotocol 的 Model Context Protocol

Docker 使用说明

您可以使用Docker运行此服务器:

bash
docker run -it --rm dylangroos/patchright-mcp

本地构建Docker镜像

构建Docker镜像:

bash
docker build -t patchright-mcp .

运行容器:

bash
docker run -it --rm patchright-mcp

Docker Hub

当更改合并到主分支时,镜像将自动发布到Docker Hub。
您可以在以下位置找到最新镜像:dylangroos/patchright-mcp

相关 MCP 服务