Hyperbrowser MCP详解与使用指南

Hyperbrowser MCP 详解与使用指南

一、什么是 Hyperbrowser MCP

Hyperbrowser MCP(Model Context Protocol)是一个基于开源协议的服务器实现,主要用于网页抓取、结构化数据提取、网页爬取以及浏览器自动化操作。它作为 AI 模型与外部工具交互的标准化接口,支持集成 OpenAI 的 CUA、Anthropic 的 Claude Computer Use 等通用浏览器代理,帮助用户高效处理网页数据和自动化任务。

核心功能

  • 网页内容抓取:将网页转换为 Markdown、HTML 等格式,支持截图功能
  • 结构化数据提取:将杂乱 HTML 转换为 JSON 结构化数据
  • 多页面爬取:遍历多个链接页面并提取格式化内容
  • 浏览器自动化:通过 AI 代理(如 Claude、OpenAI CUA)执行复杂浏览器操作
  • 搜索集成:通过 Bing 搜索引擎获取结果并处理

技术特点

  • 多语言支持:基于 Node.js 开发,支持多种浏览器代理
  • 模块化设计:工具和组件可独立使用,易于扩展
  • 反 Bot 措施:内置隐身模式、代理轮换、验证码自动解决
  • 高效性能:启动时间 <500 毫秒,支持 10,000+ 并发会话
  • 开源协议:遵循 MIT 许可证,支持自定义开发

二、安装与配置

1. 环境要求

  • Node.js 16+ 或 Python 3.8+
  • npm/yarn 包管理器
  • Hyperbrowser API 密钥(从 官方控制台 获取)

2. 安装方式

手动安装(推荐)

npx hyperbrowser-mcp <YOUR-HYPERBROWSER-API-KEY>

源码安装(开发环境)

# 克隆仓库
git clone git@github.com:hyperbrowserai/mcp.git hyperbrowser-mcp
cd hyperbrowser-mcp

# 安装依赖
npm install  # 或 yarn install
npm run build

# 运行服务器
node dist/server.js

通过 Smithery 自动安装

npx -y @smithery/cli install @hyperbrowserai/mcp --client claude

3. 客户端配置

Cursor 编辑器配置

~/.cursor/mcp.json 中添加:

{
  "mcpServers": {
    "hyperbrowser": {
      "command": "npx",
      "args": ["-y", "hyperbrowser-mcp"],
      "env": {
        "HYPERBROWSER_API_KEY": "你的API密钥"
      }
    }
  }
}

Windsurf 配置

./codeium/windsurf/model_config.json 中添加:

{
  "mcpServers": {
    "hyperbrowser": {
      "command": "npx",
      "args": ["-y", "hyperbrowser-mcp"],
      "env": {
        "HYPERBROWSER_API_KEY": "你的API密钥"
      }
    }
  }
}

Claude Desktop 配置

{
  "mcpServers": {
    "hyperbrowser": {
      "command": "npx",
      "args": ["--yes", "hyperbrowser-mcp"],
      "env": {
        "HYPERBROWSER_API_KEY": "你的API密钥"
      }
    }
  }
}

三、核心工具使用指南

1. 网页抓取(scrape_webpage)

功能:从指定网页提取格式化内容(Markdown/HTML/截图等)

参数说明

  • url(必填):目标网页 URL
  • output_format:输出格式(markdown/html/links/screenshot)
  • session_options:浏览器会话配置(可选)
  • api_key:API 密钥(可选,优先使用环境变量)

示例代码(Python)

import os
from dotenv import load_dotenv
from hyperbrowser import HyperBrowser
from hyperbrowser.models import StartScrapeJobParams

# 加载环境变量
load_dotenv()

# 初始化客户端
client = HyperBrowser(api_key=os.getenv("HYPERBROWSER_API_KEY"))

def main():
    # 启动抓取任务
    scrape_result = client.scrape.start_and_wait(
        StartScrapeJobParams(
            url="https://example.com",
            output_format="markdown"
        )
    )
    print("抓取结果:\n", scrape_result.model_dump_json(indent=2))

if __name__ == "__main__":
    main()

2. 结构化数据提取(extract_structured_data)

功能:将 HTML 内容转换为 JSON 结构化数据

参数说明

  • urls:网页 URL 列表
  • schema:JSON 结构定义(可选)
  • prompt:提取提示(可选,若未提供则从 schema 推断)

示例

{
  "urls": ["https://example.com/products"],
  "schema": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "name": {"type": "string"},
        "price": {"type": "number"},
        "rating": {"type": "number"}
      }
    }
  }
}

3. 多页面爬取(crawl_webpages)

功能:递归爬取网站链接并提取内容

参数说明

  • start_url:起始 URL
  • max_depth:最大爬取深度
  • include_patterns:URL 包含模式(正则表达式)
  • exclude_patterns:URL 排除模式(正则表达式)

4. AI 浏览器代理

  • browser_use_agent:轻量级浏览器自动化
  • openai_computer_use_agent:使用 OpenAI CUA 模型
  • claude_computer_use_agent:使用 Claude 计算机使用功能

四、实际应用案例

案例 1:小红书热门话题爬取

目标:提取小红书热门笔记的标题、作者和点赞数,生成 Markdown 报告

配置步骤

  1. 在 Trae CN 中配置 MCP 服务器:
{
  "mcpServers": {
    "hyperbrowser": {
      "command": "npx",
      "args": ["-y", "hyperbrowser-mcp"],
      "env": {
        "HYPERBROWSER_API_KEY": "你的API密钥"
      }
    }
  }
}
  1. 使用自然语言指令调用:
使用 Claude 计算机使用爬取小红书前10个笔记:
1. 目标网站: https://www.xiaohongshu.com/explore
2. 提取标题、作者和点赞数,保存为 Markdown 文件
3. 基于数据生成热门话题分析
  1. 工具自动执行以下步骤:
    • 导航到目标 URL
    • 提取指定数据
    • 生成结构化报告
    • 分析热门趋势

案例 2:电商产品价格监控

功能:定期抓取电商网站产品价格,当价格低于阈值时发送通知

实现思路

  1. 使用 crawl_webpages 定期爬取产品页面
  2. 通过 extract_structured_data 提取价格信息
  3. 结合定时任务工具实现持续监控
  4. 配置通知机制(邮件/企业微信)

五、高级配置与最佳实践

1. Docker 部署

# Dockerfile 示例
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
ENV HYPERBROWSER_API_KEY=你的API密钥
EXPOSE 3000
CMD ["node", "dist/server.js"]

2. 性能优化

  • 会话复用:通过 create_profile 创建持久化浏览器配置文件
  • 并发控制:设置合理的并发请求数,避免被目标网站屏蔽
  • 缓存策略:对频繁访问的页面启用缓存机制

3. 安全注意事项

  • API 密钥管理:避免硬编码密钥,使用环境变量或密钥管理服务
  • 访问控制:限制 MCP 服务器的访问 IP
  • 请求频率限制:遵守目标网站的 robots.txt 规则

六、版本更新与特性(2025年5月)

  • Docker 支持:新增 Dockerfile,支持远程部署和 API 密钥认证
  • 会话管理:添加配置文件管理工具(create_profile/delete_profile/list_profiles)
  • 传输协议优化:采用 Streamable HTTP 替代 HTTP+SSE,提升连接稳定性
  • 安全增强:支持 OAuth 2.1 认证,强制 PKCE 和 HTTPS

七、参考资源

 
阅读: 90 | 发布时间: 2025-07-14 14:44:26