# Patchright隐秘浏览器自动化服务器
## 基本信息
- Slug: `dylangroos-patchright-mcp-lite`
- Source: modelscope
- Publisher: @dylangroos/patchright-mcp-lite
- Categories: browser-automation / web-scraping
- Hosted: No
- License: Apache License 2.0
- Source URL: https://www.modelscope.cn/mcp/servers/@dylangroos/patchright-mcp-lite
## 简介
一个精简的模型上下文协议服务器，它使人工智能模型能够使用Patchright进行隐秘的浏览器自动化操作，避免被反机器人系统检测到，同时提供必要的网络交互功能。
## MCP Server 详情

# 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"
   }
   

5. 提取文本以验证登录：
   
   工具: extract
   参数: {
     "browserId": "来自步骤1的浏览器ID",
     "pageId": "来自步骤1的页面ID",
     "type": "text"
   }
   

6. 关闭浏览器：
   
   工具: 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](https://hub.docker.com/r/dylangroos/patchright-mcp)

