关于 Patchright Lite MCP Server
Patchright Lite MCP Server 是对 Patchright Node.js SDK 的轻量封装,为 AI 模型提供隐身浏览器自动化能力。该项目仅保留核心功能,便于能力较弱的模型使用。
主要功能
- 01browse:启动浏览器并打开页面提取内容
- 02interact:对页面执行点击、填写或选择操作
- 03extract:提取页面文本、HTML 或截图
- 04close:关闭浏览器以释放资源
- 05基于 stdio 传输
适用场景
- 01让 AI 模型访问网页并读取可见文本
- 02在页面中自动填写表单并提交
- 03截取页面截图以便核对内容
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 browse、interact、extract 和 close 四个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Patchright Lite MCP 服务
一个精简的 Model Context Protocol (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 标准:实现 Model Context Protocol,便于 AI 集成
- Stdio 传输:使用标准输入/输出,实现无缝集成
前提条件
- Node.js 18+
- npm 或 yarn
安装
-
克隆此仓库:
git clone https://github.com/yourusername/patchright-lite-mcp-server.git cd patchright-lite-mcp-server -
安装依赖:
npm install -
构建 TypeScript 代码:
npm run build -
为 Pathright 安装 Chromium-Driver:
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"]
}
}
}
配合 GitHub Copilot 的 VS Code
使用 VS Code 命令行添加此 MCP 服务:
code --add-mcp '{"name":"patchright","command":"node","args":["path/to/patchright-lite-mcp-server/dist/index.js"]}'
可用工具
此服务仅提供 4 个必备工具:
1. browse
启动浏览器,导航到某个 URL,并提取内容。
Tool: browse
Parameters: {
"url": "https://example.com",
"headless": true,
"waitFor": 1000
}
返回:
- 页面标题
- 可见文本预览
- 浏览器 ID(用于后续操作)
- 页面 ID(用于后续操作)
- 截图路径
2. interact
在页面上执行简单的交互。
Tool: interact
Parameters: {
"browserId": "browser-id-from-browse",
"pageId": "page-id-from-browse",
"action": "click", // can be "click", "fill", or "select"
"selector": "#submit-button",
"value": "Hello World" // only needed for fill and select
}
返回:
- 操作结果
- 当前 URL
- 截图路径
3. extract
从当前页面提取特定内容。
Tool: extract
Parameters: {
"browserId": "browser-id-from-browse",
"pageId": "page-id-from-browse",
"type": "text" // can be "text", "html", or "screenshot"
}
返回:
- 根据所请求类型提取的内容
4. close
关闭浏览器以释放资源。
Tool: close
Parameters: {
"browserId": "browser-id-from-browse"
}
使用示例流程
-
启动浏览器并导航到某个网站:
Tool: browse Parameters: { "url": "https://example.com/login", "headless": false } -
填写登录表单:
Tool: interact Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "action": "fill", "selector": "#username", "value": "[email protected]" } -
填写密码:
Tool: interact Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "action": "fill", "selector": "#password", "value": "password123" } -
点击登录按钮:
Tool: interact Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "action": "click", "selector": "#login-button" } -
提取文本以验证登录:
Tool: extract Parameters: { "browserId": "browser-id-from-step-1", "pageId": "page-id-from-step-1", "type": "text" } -
关闭浏览器:
Tool: close Parameters: { "browserId": "browser-id-from-step-1" }
安全注意事项
- 此服务提供强大的自动化能力。请负责任且合乎道德地使用。
- 避免自动化执行会违反网站服务条款的操作。
- 注意速率限制,不要用过量的请求压垮网站。
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
致谢
- Patchright-nodejs,作者 Kaliiiiiiiiii-Vinyzu
- Model Context Protocol,作者 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。