返回市场
补丁正确-mcp轻量版

补丁正确-mcp轻量版

作者:dylangroos11 星标更新:2025-05-08

项目介绍

Patchright Lite MCP Server

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

什么是Patchright?

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

  • 运行时启用泄漏
  • 控制台启用泄漏
  • 命令标志泄漏
  • 通用检测点
  • 封闭的Shadow Root交互

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

特性

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

预备条件

  • Node.js 18+
  • npm 或 yarn

安装

  1. 克隆此仓库:

    git clone https://github.com/yourusername/patchright-lite-mcp-server.git
    cd patchright-lite-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建TypeScript代码:

    npm run build
    
  4. 安装Pathright的Chromium驱动程序:

    npx patchright install chromium
    

使用方法

运行服务器:

npm start

这将启动使用stdio传输的服务器,使其准备好与支持MCP的AI工具集成。

与AI模型集成

Claude Desktop

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

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

VS Code与GitHub Copilot

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

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

可用工具

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

1. 浏览

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

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

返回:

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

2. 互动

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

工具: 互动
参数: {
  "browserId": "来自浏览的浏览器ID",
  "pageId": "来自浏览的页面ID",
  "action": "点击", // 可以是"点击"、"填充"或"选择"
  "selector": "#submit-button",
  "value": "Hello World" // 只有在填充和选择时需要
}

返回:

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

3. 提取

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

工具: 提取
参数: {
  "browserId": "来自浏览的浏览器ID",
  "pageId": "来自浏览的页面ID",
  "type": "文本" // 可以是"文本"、"HTML"或"截图"
}

返回:

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

4. 关闭

关闭浏览器以释放资源。

工具: 关闭
参数: {
  "browserId": "来自浏览的浏览器ID"
}

示例使用流程

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

    工具: 浏览
    参数: {
      "url": "https://example.com/login",
      "headless": false
    }
    
  2. 填写登录表单:

    工具: 互动
    参数: {
      "browserId": "步骤1中的浏览器ID",
      "pageId": "步骤1中的页面ID",
      "action": "填充",
      "selector": "#username",
      "value": "user@example.com"
    }
    
  3. 填写密码:

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

    工具: 互动
    参数: {
      "browserId": "步骤1中的浏览器ID",
      "pageId": "步骤1中的页面ID",
      "action": "点击",
      "selector": "#login-button"
    }
    
  5. 提取文本以验证登录:

    工具: 提取
    参数: {
      "browserId": "步骤1中的浏览器ID",
      "pageId": "步骤1中的页面ID",
      "type": "文本"
    }
    
  6. 关闭浏览器:

    工具: 关闭
    参数: {
      "browserId": "步骤1中的浏览器ID"
    }
    

安全注意事项

  • 此服务器提供了强大的自动化功能。请负责任且道德地使用它。
  • 避免自动化执行违反网站服务条款的行为。
  • 注意速率限制,不要用请求过载网站。

许可证

本项目根据MIT许可证发布 - 查看LICENSE文件获取详细信息。

致谢

  • Kaliiiiiiiiii-Vinyzu的Patchright-nodejs
  • modelcontextprotocol的模型上下文协议

Docker使用

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

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

在本地构建Docker镜像

构建Docker镜像:

docker build -t patchright-mcp .

运行容器:

docker run -it --rm patchright-mcp

Docker Hub

当更改合并到主分支时,此镜像会自动发布到Docker Hub。你可以在dylangroos/patchright-mcp找到最新镜像。