Token导航 LogoToken导航TokenDH.com
Puppeteer Swarm MCP logo
浏览器工具stdio官方级别未说明来源级核验

Puppeteer Swarm MCP

MCP Server

puppeteer-swarm-mcp

Puppeteer Swarm MCP是一个基于Puppeteer的浏览器自动化管理服务,支持标签池管理、自动恢复和空闲释放,适用于大规模网页爬取和自动化测试场景。

工具数

11

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化TypeScriptClaude网页爬取Claude DesktopClaudeCursorWindsurfClineVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

greatSumini

提供方

greatSumini

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx puppeteer-swarm-mcp

详细介绍

Puppeter Swarm MCP

用于浏览器自动化的MCP服务器 选项卡池 支持使用Puppeteer。

特性

  • 显式浏览器控件:通过按需启动和关闭浏览器 launch/close 工具
  • 选项卡池:同时管理多个浏览器选项卡
  • 自动释放:空闲超时后自动释放标签页(默认值:5分钟)
  • 自动恢复:自动恢复崩溃的选项卡
  • 可配置的:通过CLI参数设置选项卡计数和无头模式

安装

选项1:从npm安装

npm install -g puppeteer-swarm-mcp

或者直接使用npx运行:

npx puppeteer-swarm-mcp

选项2:从源代码安装

git clone https://github.com/greatSumini/puppeteer-swarm-mcp.git
cd puppeteer-swarm-mcp
npm install
npm run build

用法

# Default: 5 tabs, headless=false
puppeteer-swarm-mcp

# Custom tab count
puppeteer-swarm-mcp --tabs=10

# Headless mode
puppeteer-swarm-mcp --headless

# Combined options
puppeteer-swarm-mcp --tabs=10 --headless

环境变量

TAB_COUNT=10 HEADLESS=true puppeteer-swarm-mcp

MCP客户端集成

Puppeter Swarm MCP可以与支持模型上下文协议(MCP)的各种AI编码助手和IDE集成。

需求

  • Node.js>=v18.0.0
  • 兼容MCP的客户端(Claude Code、Cursor、VS Code、Windsurf等)

Install in Claude Code

运行此命令:

claude mcp add puppeteer-swarm -- npx -y puppeteer-swarm-mcp --tabs=5 --headless

或者使用自定义选项:

claude mcp add puppeteer-swarm -- npx -y puppeteer-swarm-mcp --tabs=10

Install in Cursor

首选 Settings -> Cursor Settings -> MCP -> Add new global MCP server

将以下配置添加到您的 ~/.cursor/mcp.json 文件:

{
  "mcpServers": {
    "puppeteer-swarm": {
      "command": "npx",
      "args": ["-y", "puppeteer-swarm-mcp", "--tabs=5", "--headless"]
    }
  }
}

Install in Claude Desktop

将以下内容添加到您的Claude Desktop配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "puppeteer-swarm": {
      "command": "npx",
      "args": ["-y", "puppeteer-swarm-mcp", "--tabs=5", "--headless"]
    }
  }
}

Install in VS Code

将此添加到您的VS Code MCP配置文件中。看 VS代码MCP文档 了解更多信息。

"mcp": {
  "servers": {
    "puppeteer-swarm": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "puppeteer-swarm-mcp", "--tabs=5", "--headless"]
    }
  }
}

Install in Windsurf

将此添加到您的Windsurf MCP配置文件中:

{
  "mcpServers": {
    "puppeteer-swarm": {
      "command": "npx",
      "args": ["-y", "puppeteer-swarm-mcp", "--tabs=5", "--headless"]
    }
  }
}

Install in Cline

  1. 打开 克莱恩
  2. 点击汉堡菜单图标(☰)进入 MCP服务器 章节
  3. 选择 远程服务器 标签
  4. 点击 编辑配置 按钮
  5. 添加木偶师群 mcpServers:
{
  "mcpServers": {
    "puppeteer-swarm": {
      "command": "npx",
      "args": ["-y", "puppeteer-swarm-mcp", "--tabs=5", "--headless"]
    }
  }
}

Install in Zed

将此添加到您的Zed settings.json:

{
  "context_servers": {
    "puppeteer-swarm": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "puppeteer-swarm-mcp", "--tabs=5", "--headless"]
    }
  }
}

可用工具

发射

初始化浏览器和选项卡池。 必须在使用任何其他浏览器工具之前调用。

参数:无

退货:

{
  "message": "브라우저가 성공적으로 시작되었습니다.",
  "config": {
    "tabCount": 5,
    "headless": false,
    "idleTimeout": 300000
  }
}

______________________________________________________________________

关闭

关闭浏览器和所有选项卡。

参数:无

退货:

{
  "message": "브라우저가 종료되었습니다."
}

______________________________________________________________________

get_tool_status

获取选项卡池的当前状态。之前可以打电话 launch 检查初始化状态。

参数:无

退货 (发射后):

{
  "initialized": true,
  "total": 5,
  "idle": 3,
  "busy": 2
}

退货 (发射前):

{
  "initialized": false,
  "message": "브라우저가 초기화되지 않았습니다. 먼저 'launch' 도구를 호출하세요."
}

______________________________________________________________________

导航

分配一个空闲选项卡并导航到URL。

参数:

名称类型必填描述
urlstring要导航到的URL
waitUntilstring等待条件(load, domcontentloaded, networkidle0, networkidle2)

退货:

{
  "tabId": "tab-1",
  "url": "https://example.com",
  "title": "Example Domain"
}

______________________________________________________________________

get_content

从页面中提取HTML或文本内容。

参数:

名称类型必填描述
tabIdstring目标选项卡ID
typestring提取格式(html, text).违约: text

退货:

{
  "content": "..."
}

______________________________________________________________________

截图

捕获页面截图。

参数:

名称类型必填描述
tabIdstring目标选项卡ID
fullPageboolean捕获整页。违约: false

退货:图像内容(base64 PNG)

______________________________________________________________________

点击

通过CSS选择器单击元素。

参数:

名称类型必填描述
tabIdstring目标选项卡ID
selectorstringCSS选择器

退货:

{
  "success": true
}

______________________________________________________________________

类型

在输入框中键入文本。

参数:

名称类型必填描述
tabIdstring目标选项卡ID
selectorstringCSS选择器
textstring要键入的文本

退货:

{
  "success": true
}

______________________________________________________________________

评估

在页面上下文中执行JavaScript。

参数:

名称类型必填描述
tabIdstring目标选项卡ID
scriptstring要执行的JavaScript代码

退货:

{
  "result": "..."
}

______________________________________________________________________

wait_for_selector

等待元素出现在DOM中。

参数:

名称类型必填描述
tabIdstring目标选项卡ID
selectorstringCSS选择器
timeoutnumberNo超时(毫秒)。默认值: 30000

退货:

{
  "success": true
}

______________________________________________________________________

release_tab

释放一个标签回到空闲状态。

参数:

名称类型必填描述
tabIdstring要释放的选项卡ID

退货:

{
  "success": true
}

工作流示例

1. launch()
   -> Initialize browser and tab pool

2. navigate({ url: "https://example.com" })
   -> Returns { tabId: "tab-1", ... }

3. get_content({ tabId: "tab-1", type: "text" })
   -> Returns page content

4. click({ tabId: "tab-1", selector: "button.submit" })
   -> Click a button

5. release_tab({ tabId: "tab-1" })
   -> Release the tab for reuse

6. close()
   -> Close browser when done (optional)
备注:浏览器不会自动启动。你必须打电话 launch 在使用任何浏览器工具之前。

日志记录

日志存储在 logs/ 目录:

  • 文件模式: mcp-puppeteer-YYYY-MM-DD.log
  • 每日轮换,每个文件最大20MB
  • 自动压缩功能可保留14天

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

作者

崔素民 -

目录标签

目录标签

浏览器自动化TypeScriptClaude网页爬取本地部署标签池管理自动化测试Puppeteer

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

puppeteer-swarm-mcp

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP