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 等)进行控制。
- 启动后,服务器会启动 MCP 服务并注册工具集。你可以使用 MCP 客户端执行如下操作:
-
运行要点与注意事项
- 你需要提供正确的 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 客户端提供丰富的上下文与执行能力。
- 代码包含示例数据集与多种场景工具的注册,方便在生产环境中按需开启或禁用。