返回 MCP 目录
public公开dns本地运行

rdvo_mcp-server

Steel Puppeteer是一个基于Puppeteer和Steel的浏览器自动化MCP服务,为LLM提供网页交互、截图和JavaScript执行能力。

article

README

🚀 钢傀儡模型上下文协议服务器

钢傀儡模型上下文协议服务器借助Puppeteer和Steel提供的浏览器自动化能力,让大语言模型(LLM)能够与网页交互、截取屏幕截图以及执行JavaScript代码,为其提供真实的浏览器环境。

🚀 快速开始

运行步骤

  1. 安装依赖:

    npm install
    
  2. 构建项目:

    npm run build
    
  3. 启动服务器:

    npm start
    
  4. 打开Claude桌面应用程序,即可开始使用!

默认情况下,服务器将在端口3000上监听请求。

✨ 主要特性

  • 支持使用Puppeteer进行浏览器自动化操作。
  • 提供强大的控制台功能以与网页交互。
  • 支持多种滚动行为和块定位。
  • 集成Steel协议进行模型上下文交互。
  • 支持自定义用户代理字符串。
  • 提供详细的日志记录和调试选项。

📦 安装指南

环境变量

以下是运行服务器所需的关键环境变量:

  • NODE_ENV:设置为"production"以启用生产模式,默认值:"development"。
  • PORT:指定服务器监听的端口,范围1024到65535,默认值:3000。
  • PUPPETEER_WS_ENDPOINT:指定Puppeteer WebSocket端点,默认值:ws://localhost:3000/ws/puppeteer。
  • STEEL_API_KEY:Steel API密钥,用于身份验证。
  • STEEL_SERVER_URL:Steel服务URL,默认值:http://localhost:8080。

服务器配置

要自定义服务器行为,请编辑以下配置选项:

{
  "puppeteer": {
    "defaultViewport": { // 默认视口设置
      "width": 1920,
      "height": 1080,
      "deviceScaleFactor": 1,
      "isLandscape": true,
      "hasTouch": false,
      "isMobile": false
    },
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.126 Safari/537.36" // 自定义用户代理字符串
  },
  "steel": {
    "apiEndpoint": "http://localhost:8080", // Steel API端点
    "timeout": 30000, // 请求超时时间(毫秒)
    "proxyEnabled": true, // 是否启用代理
    "proxyUrl": "http://localhost:8081" // 代理服务器URL
  },
  "logging": {
    "enabled": true, // 启用日志记录
    "level": "info", // 日志级别:"debug"、"info"、"warn"、"error"
    "outputFile": "./logs/server.log" // 日志输出文件路径
  }
}

📚 详细文档

组件

工具

| 工具名称 | 功能 | 输入参数 | | ---- | ---- | ---- | | puppeteer_navigate | 在浏览器中导航到任何URL | url (字符串,必需):要导航的URL
timeout (数字,可选,默认值: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 | 滚动页面以触发惰性加载 | behavior (字符串,可选,默认值:"auto"):滚动行为("auto" 或 "smooth")
block (字符串,可选,默认值:"start"):滚动块("start"、"end"、"nearest"、"center") |

资源

| 资源名称 | 功能 | | ---- | ---- | | 页面 | 提供对当前网页的访问 | | 截图 | 返回屏幕截图数据 | | 标题 | 返回当前页面的标题 | | 内容 | 返回当前页面的内容 | | cookies | 获取或设置当前页面的Cookie |

🔧 技术细节

故障排除

  • 如果遇到Puppeteer问题,请确保系统安装了所有必要的依赖项。参考Puppeteer故障排除指南获取更多信息。
  • 如果使用Steel云服务,请确保API密钥有效且具有所需权限。
  • 如果使用本地Steel实例,请确保其正在运行并可访问指定URL(如果是自定义)或默认本地地址。

如需更多详细配置选项和高级用法,参考Steel文档和Puppeteer API参考资料。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端