MCP_puppeteer_extra

MCP_puppeteer_extra

🚀 Puppeteer-Extra MCP 服务器

Puppeteer-Extra MCP 服务器借助 Puppeteer-Extra 和 Stealth 插件,增强了浏览器自动化能力。它基于模型上下文协议(Model Context Protocol),能让大型语言模型以更接近人类的行为方式与网页交互,有效避免被识别为自动化操作。

✨ 主要特性

  • 增强型浏览器自动化功能:具备强大的自动化能力,满足多样化的网页操作需求。
  • Stealth 模式反检测:通过 Stealth 模式,有效避免被反 - bot 检测机制识别。
  • 截图功能:支持对页面或元素进行截图。
  • 日志记录与代码执行:可记录浏览器控制台日志,并能在控制台执行 JavaScript 代码。
  • 全套互动方法:提供点击、填写、选择、悬停等完整的互动操作。

📦 安装指南

# 克隆仓库
git clone 
cd puppeteer_extra

# 安装依赖项
npm install

# 复制环境文件
cp .env.example .env.development

💻 使用示例

基础用法

以下是一些常见工具的使用示例:

// 使用 puppeteer_navigate 导航到指定 URL
// 假设我们要导航到百度
puppeteer_navigate({ url: 'https://www.baidu.com' });

// 使用 puppeteer_click 点击页面上的元素
// 假设页面上有一个 id 为 'submit-button' 的按钮
puppeteer_click({ selector: '#submit-button' });

// 使用 puppeteer_fill 填写输入字段
// 假设页面上有一个 id 为 'username' 的输入框,我们要填写 'testuser'
puppeteer_fill({ selector: '#username', value: 'testuser' });

高级用法

// 在浏览器控制台执行复杂的 JavaScript 代码
// 例如,获取页面上所有链接的 href 属性
const script = `
const links = document.querySelectorAll('a');
const hrefs = [];
links.forEach(link => {
hrefs.push(link.href);
});
return hrefs;
`;
puppeteer_evaluate({ script });

📚 详细文档

组件

工具

工具名称 功能 输入参数
puppeteer_navigate 导航到任意 URL url(字符串)
puppeteer_screenshot 截取页面或元素的屏幕截图 name(字符串,必填):截图名称;selector(字符串,可选):用于截取元素的 CSS 选择器;width(数字,可选,默认:800):截图宽度;height(数字,可选,默认:600):截图高度
puppeteer_click 点击页面上的元素 selector(字符串):要点击的元素选择器
puppeteer_hover 悬停在页面上的元素上 selector(字符串):要悬停的元素选择器
puppeteer_fill 填写输入字段 selector(字符串):输入字段的选择器;value(字符串):要填写的内容
puppeteer_select 在 SELECT 标签中选择元素 selector(字符串):要选择的元素选择器;value(字符串):要选择的值
puppeteer_evaluate 在浏览器控制台执行 JavaScript 代码 script(字符串):要执行的 JavaScript 脚本

资源

服务器提供两种类型的资源访问:

  1. 控制台日志 (console://logs):浏览器控制台输出的文本格式信息,包含所有浏览器控制台消息。
  2. 截图 (screenshot://):捕获页面元素的 PNG 图像,可通过指定的截图名称访问。

开发

本地运行

# 开发模式(非无头浏览器)
npm run dev

# 生产模式(无头浏览器)
npm run prod

构建

npm run build

Docker

构建 Docker 镜像

docker build -t mcp/puppeteer-extra .

使用 Docker 运行

docker run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer-extra

配置(适用于 Claude Desktop)

Docker

{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer-extra"]
}
}
}

NPX

{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "MCPuppeteerExtra"]
}
}
}

📄 许可证

[此处应添加具体的许可证信息]

  • 0 关注
  • 0 收藏,26 浏览
  • system 提出于 2025-10-05 00:42

相似服务问题

相关AI产品