hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Supports configuration through a .env file in the project root for setting environment variables
Allows execution of JavaScript in the browser console through the puppeteer_evaluate tool
Provides specific configuration instructions for Claude Desktop on macOS, identifying the config file location
钢铁傀儡师
一个模型上下文协议服务器,使用 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 执行
- 基本网络交互(导航、点击、表单填写)
- 使用令牌限制处理进行内容提取
- 通过滚动实现延迟加载支持
- 本地和远程 Steel 实例支持
配置
Claude桌面配置
要将 Steel Puppeteer 服务器与 Claude Desktop 一起使用,请将以下配置添加到您的 Claude Desktop 配置文件中(在 macOS 上通常位于~/Library/Application Support/Claude/claude_desktop_config.json
):
将"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 云服务,您的.env
文件将如下所示:
运行服务器
要启动 Steel Puppeteer 服务器:
- 安装依赖项:Copy
- 构建项目:Copy
- 启动服务器:Copy
- 打开 Claude Desktop 并开始浏览!服务器将启动并监听指定端口(默认值:3000)。
故障排除
- 如果您在使用 Puppeteer 时遇到问题,请确保您的系统上已安装必要的依赖项。有关更多信息,请参阅Puppeteer 故障排除指南。
- 如果使用 Steel 云服务,请确保您的 Steel API 密钥有效并具有必要的权限。
- 如果使用本地 Steel 实例,请确保它在指定的 URL(如果是自定义的)或默认本地地址上运行并可访问。
有关更详细的配置选项和高级用法,请参阅 Steel 文档和 Puppeteer API 参考。
This server cannot be installed
模型上下文协议服务器使 LLM 能够使用 Puppeteer 自动化 Web 浏览器,从而允许在真实浏览器环境中进行导航、屏幕截图、表单填写和 JavaScript 执行。