Bright Data Web MCP 服务器

以下内容帮助你快速理解、安装、配置与使用此 MCP 服务器。

  • 项目简介

    • 这是一个完整的 MCP 服务器实现,基于 FastMCP 框架,提供对资源、工具、工具组、提示模板等的注册、执行与管理能力。
    • 代码实现覆盖核心 MCP 功能:处理 JSON-RPC 风格的请求与响应,管理会话、工具调用、权限/速率限制,以及对外部工具(如浏览器自动化、网页数据获取等)的注册与执行。
    • 设计还包含对多种传输方式的支持(如 STDIO、SSE、WebSocket 等扩展),并内置示例工具集、工具分组、提示模板等,以帮助 LLM 客户端获取上下文信息和可执行功能。
  • 主要功能点

    • MCP 核心能力:通过 JSON-RPC 接收请求、返回响应、支持工具调用、资源访问、提示渲染等。
    • 资源与工具托管:内置大量浏览器自动化工具、网页数据获取工具,以及自定义工具扩展能力,方便 LLM 直接调用。
    • 工具分组与权限控制:支持按分组启用工具、按需开启 Pro 模式工具集,灵活控制可用能力。
    • Prompt 与模板:包含针对网页抓取、数据提取的提示模板与策略,便于 LLM 的交互模式定制。
    • 会话与速率管理:对客户端会话进行跟踪,提供简单的速率限制配置与诊断工具(如 session_stats)。
    • 安全与扩展性:通过环境变量配置区域、锁定的解锁器和浏览器区等,便于在自有环境中部署与扩展。
  • 安装步骤

    • 获取源码后进入项目根目录。
    • 安装依赖:在终端执行安装命令,确保 Node.js 运行环境就绪。
    • 设置环境变量:至少需要设置一个有效的 API_TOKEN,用于 Bright Data 服务对接与认证。
    • 启动服务器:使用 Node 直接运行 server.js,或者按需通过 MCP 客户端驱动程序以 JSON 配置方式启动。
    • 验证运行:使用 MCP 客户端(例如测试中使用的 stdio 传输)对工具进行列举和调用,确认服务器正确暴露工具。
  • 服务器配置(MCP 客户端需要的最小字段描述,JSON 结构要点/含义)

    • 服务器名称:Bright Data(此名称作为 MCP 客户端在配置中展示的标签)
    • 启动命令(command):node
    • 启动参数(args):server.js
    • 环境变量(env):API_TOKEN=你自己的 API 令牌 说明:以上字段与仓库中的 server.js 启动方式相匹配,客户端在连接时会通过标准输入输出(stdio)与服务器通信。若要在不同环境中运行,也可以将 API_TOKEN、PRO_MODE 等其他变量按需传入,以启用更丰富的工具集和模式。
  • 基本使用方法

    • 启动后,服务器会启动 MCP 服务并注册工具集。你可以使用 MCP 客户端执行如下操作:
      • 列出可用工具,确认 session_stats 等工具在清单中。
      • 调用某个工具,获取执行结果(通常会返回一个文本块或结构化数据,便于 LLM 处理和呈现)。
    • 如需了解调试信息或工具调用统计,可以使用 session_stats 查看本次会话中工具的调用频次。
    • 如需调整访问粒度或工具集,可通过设置环境变量(如 PRO_MODE、GROUPS、TOOLS、RATE_LIMIT 等)进行控制。
  • 运行要点与注意事项

    • 你需要提供正确的 API_TOKEN,且程序会在启动阶段尝试创建并验证 Bright Data 所需的区域(unlocker 与 browser 区域)。
    • 速率限制、组别选择等配置可通过环境变量进行微调,便于在不同使用场景下平衡成本与能力。
    • 服务器默认以 STDIO 传输方式对外提供接口,若要支持其他传输协议,请根据 FastMCP 的文档进行相应修改与扩展。
  • 使用示例(非代码块描述)

    • 将 Bright Data MCP 服务器作为一个外部服务接入你的 MCP 客户端,服务器名称设置为 Bright Data,启动命令为 node,参数为 server.js,并将 API_TOKEN 设置为你的访问令牌。
    • 在客户端的配置中,你会看到服务器被列为一个可连接的后端,连接后即可通过工具调用与资源读取来获取实时网页数据、进行数据提取或执行外部功能。
  • 额外说明

    • 服务器集成了大量浏览器自动化与网页抓取工具的实现(browser_tools.js、tool_groups.js、prompts.js、aria_snapshot_filter.js 等文件),用于向 LLM 客户端提供丰富的上下文与执行能力。
    • 代码包含示例数据集与多种场景工具的注册,方便在生产环境中按需开启或禁用。

服务器信息