Steel Puppeteer
镜子 (jìng zi)
MCP-Mirror
README
Steel Puppeteer
一个模型上下文协议服务器,它使用 Puppeteer 和 Steel 提供浏览器自动化功能。该服务器使 LLM 能够与网页交互、截取屏幕截图以及在真实的浏览器环境中执行 JavaScript。
组件
工具
-
puppeteer_navigate
- 在浏览器中导航到任何 URL
- 输入:
url
(字符串,必需): 要导航到的 URLtimeout
(数字,可选,默认值: 60000): 导航超时时间,以毫秒为单位waitUntil
(字符串,可选,默认值: "domcontentloaded"): 何时认为导航成功。选项: "load", "domcontentloaded", "networkidle0", "networkidle2"
-
puppeteer_screenshot
- 捕获整个页面或特定元素的屏幕截图
- 输入:
name
(字符串,必需): 屏幕截图的名称selector
(字符串,可选): 用于截图的元素的 CSS 选择器
-
puppeteer_click
- 点击页面上的元素
- 输入:
selector
(字符串,必需): 用于点击的元素的 CSS 选择器
-
puppeteer_fill
- 填写输入字段
- 输入:
selector
(字符串,必需): 输入字段的 CSS 选择器value
(字符串,必需): 要填充的值
-
puppeteer_select
- 选择带有 SELECT 标签的元素
- 输入:
selector
(字符串,必需): 要选择的元素的 CSS 选择器value
(字符串,必需): 要选择的值
-
puppeteer_hover
- 悬停在页面上的元素上
- 输入:
selector
(字符串,必需): 用于悬停的元素的 CSS 选择器
-
puppeteer_evaluate
- 在浏览器控制台中执行 JavaScript
- 输入:
script
(字符串,必需): 要执行的 JavaScript 代码
-
puppeteer_get_content
- 从当前页面提取内容
- 输入:
selector
(字符串,可选): 从特定元素获取内容的 CSS 选择器。如果未提供,则返回整个页面内容
-
puppeteer_scroll
- 滚动页面以触发延迟加载
- 输入:
scrollDelay
(数字,可选,默认值: 100): 滚动之间的延迟,以毫秒为单位maxScrolls
(数字,可选,默认值: 50): 最大滚动次数
资源
服务器提供对两种类型资源的访问:
-
控制台日志 (
console://logs
)- 浏览器控制台输出,文本格式
- 包括来自浏览器的所有控制台消息
-
屏幕截图 (
screenshot://<name>
)- 捕获的屏幕截图的 PNG 图像
- 可通过捕获期间指定的屏幕截图名称访问
主要特性
- 使用 Puppeteer 进行浏览器自动化
- Steel 集成,用于浏览器会话管理
- 控制台日志监控和捕获
- 屏幕截图功能
- JavaScript 执行
- 基本的 Web 交互(导航、点击、表单填写)
- 内容提取,具有 token 限制处理
- 通过滚动支持延迟加载
- 支持本地和远程 Steel 实例
配置
Claude Desktop 配置
要将 Steel Puppeteer 服务器与 Claude Desktop 一起使用,请将以下配置添加到您的 Claude Desktop 配置文件(通常位于 macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"steel-puppeteer": {
"command": "node",
"args": ["path/to/steel-puppeteer/dist/index.js"],
"env": {
"STEEL_LOCAL": "true"
}
}
}
}
将 "path/to/steel-puppeteer/dist/index.js"
替换为您系统上已编译的 JavaScript 文件的实际路径。
环境变量
可以使用以下环境变量配置 Steel Puppeteer 服务器:
STEEL_LOCAL
(可选,默认值: "false"): 设置为 "true" 以使用本地 Steel 实例,而不是云服务。STEEL_API_KEY
(仅当STEEL_LOCAL
为 "false" 时才需要): 您的 Steel API 密钥,用于在使用云服务时进行身份验证。STEEL_URL
(可选): 如果使用自定义部署,则为您的 Steel 实例的 URL。
服务器配置
如果您直接运行 Steel Puppeteer 服务器(而不是通过 Claude Desktop),您可以在 shell 中设置这些环境变量,或者在项目根目录中创建一个 .env
文件。这是一个用于本地使用的 .env
文件示例:
STEEL_LOCAL=true
如果您使用 Steel 云服务,您的 .env
文件将如下所示:
STEEL_API_KEY=your-steel-api-key
STEEL_LOCAL=false
运行服务器
要启动 Steel Puppeteer 服务器:
-
安装依赖项:
npm install
-
构建项目:
npm run build
-
启动服务器:
npm start
-
打开 Claude Desktop 并开始浏览! 服务器将启动并在指定的端口(默认值:3000)上侦听。
故障排除
- 如果您遇到 Puppeteer 问题,请确保您的系统上已安装必要的依赖项。有关更多信息,请参阅 Puppeteer 故障排除指南。
- 如果使用 Steel 云服务,请确保您的 Steel API 密钥有效并具有必要的权限。
- 如果使用本地 Steel 实例,请确保它正在运行并且可以在指定的 URL(如果自定义)或默认本地地址访问。
有关更详细的配置选项和高级用法,请参阅 Steel 文档和 Puppeteer API 参考。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
@kazuph/mcp-fetch
用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。
DuckDuckGo MCP Server
一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。
YouTube Transcript MCP Server
这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。
serper-search-scrape-mcp-server
这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。
The Verge News MCP Server
提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。
Tavily MCP Server
使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。
mcp-pinterest
用于图像搜索和信息检索的 Pinterest 模型上下文协议 (MCP) 服务器

Crawlab MCP Server