Steel Puppeteer - 使用说明
项目简介
Steel Puppeteer 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供强大的浏览器自动化能力。通过集成 Puppeteer 和 Steel,它允许 LLM 与网页进行交互,例如导航、点击、填写表单、截取屏幕截图、执行 JavaScript 代码以及提取网页内容。这使得 LLM 能够访问和利用网络上的信息和功能,从而扩展其应用场景。
主要功能点
- 浏览器自动化: 利用 Puppeteer 驱动真实的浏览器环境,模拟用户在网页上的各种操作。
- 工具 (Tools) 丰富: 提供一系列预定义的工具,例如:
- 'puppeteer_navigate': 导航到指定 URL。
- 'puppeteer_screenshot': 截取网页或特定元素的屏幕截图。
- 'puppeteer_click': 点击网页元素。
- 'puppeteer_fill': 填写表单输入框。
- 'puppeteer_get_content': 提取网页内容。
- 'puppeteer_evaluate': 在浏览器中执行 JavaScript 代码。
- 等等
- 资源 (Resources) 管理: 提供对以下资源的管理和访问:
- 控制台日志 (console://logs): 实时获取浏览器控制台输出。
- 屏幕截图 (screenshot://<name>): 访问已捕获的屏幕截图。
- 会话管理: 集成 Steel 实现了浏览器会话的创建、管理和复用,支持本地 Steel 实例和云服务。
- 内容提取优化: 支持从网页中提取内容,并处理内容长度,避免超出 LLM 的上下文窗口限制。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node Package Manager)。
- 克隆仓库: 使用 Git 克隆 Steel Puppeteer 仓库到本地:
git clone https://github.com/rdvo/mcp-server.git cd mcp-server - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
npm install - 构建项目: 运行以下命令构建项目:
npm run build
服务器配置
要将 Steel Puppeteer 服务器配置为 MCP 客户端(例如 Claude Desktop)的后端,请将以下 JSON 配置添加到客户端的配置文件中。以 Claude Desktop 为例,通常位于 '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS) 或相应的用户配置目录下。
{ "mcpServers": { "steel-puppeteer": { "command": "node", "args": ["path/to/steel-puppeteer/dist/index.js"], "env": { "STEEL_LOCAL": "true" } } } }
配置参数说明:
- '"steel-puppeteer"': 服务器名称,可以自定义。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。
- '"args": ["path/to/steel-puppeteer/dist/index.js"]': 命令参数,指向编译后的服务器入口文件 'index.js' 的路径。 请将 'path/to/steel-puppeteer' 替换为你的 Steel Puppeteer 仓库的实际路径。
- '"env": { "STEEL_LOCAL": "true" }': 环境变量配置。
- '"STEEL_LOCAL": "true"': 设置为 'true' 表示使用本地 Steel 实例。 如果你想使用 Steel 云服务,请设置为 '"false"' 并配置 'STEEL_API_KEY' 环境变量 (参考 基本使用方法 中的 环境变量配置 部分)。
基本使用方法
-
启动服务器: 在 Steel Puppeteer 仓库根目录下运行以下命令启动服务器:
npm start服务器默认监听端口为 3000。
-
配置环境变量 (可选):
-
本地 Steel 实例: 默认配置 'STEEL_LOCAL=true' 将连接到本地 Steel 实例 (假设本地 Steel 服务运行在 'http://localhost:3000')。
-
Steel 云服务: 要使用 Steel 云服务,请设置以下环境变量:
- 'STEEL_API_KEY': 你的 Steel API 密钥。
- 'STEEL_LOCAL=false': 设置为 'false' 以使用云服务。
你可以在 '.env' 文件中或直接在 shell 环境中设置环境变量。 例如,创建 '.env' 文件并在其中添加:
STEEL_API_KEY=your-steel-api-key STEEL_LOCAL=false
-
-
在 MCP 客户端中使用: 在你的 MCP 客户端 (例如 Claude Desktop) 中配置上面 服务器配置 部分生成的 JSON 配置。 客户端启动后,即可连接到 Steel Puppeteer 服务器,并利用其提供的浏览器自动化工具和资源。
注意: 首次运行 'npm start' 可能会自动下载 Chromium 浏览器,请耐心等待。
信息
分类
网页与API