数据收集服务器

Bright Data MCP服务器是一个用于触发和轮询Bright Data收集的数据收集服务器,适用于需要自动化数据收集的场景。

  • by MeirKaD
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 MeirKaD/polymarket-mcp

使用说明

Bright Data MCP服务器

用于触发和轮询亮数据收集的MCP(模型上下文协议)服务器。

概述

此服务器提供了三种用于与Bright Data API交互的工具:

  1. 触发器_和_收集 -触发收集并自动轮询结果
  2. 触发器集合 -触发集合并返回作业ID
  3. get_collection_data -对现有作业ID的数据进行轮询

Bright Data Web剪贴器设置

脚本在 poly_scraper/ 适用于Bright Data Web Scraper IDE。

  1. 创建或登录您的Bright Data帐户。
  2. 导航到Web Scrapers->New Scraper(IDE),然后选择“从头开始”。
  3. 在“交互”选项卡中,粘贴以下内容 poly_scraper/interaction.js.
  4. 在Parser选项卡中,粘贴以下内容 poly_scraper/parser.js.
  5. 保存到生产环境并记录生成的收集器ID。
  6. 在Bright Data中,创建具有Web Scraper权限的API令牌(帐户设置->复制API令牌)。
  7. 使用配置MCP客户端 mcp://bright-data?collectorId=<COLLECTOR_ID>&apiToken=<API_TOKEN> 用保存的值替换占位符。

安装

npm install
npm run build

运行服务器

npm start

默认情况下,服务器将在端口3000上启动。您可以通过设置 PORT 环境变量:

PORT=8080 npm start

连接URL

连接到服务器时,必须提供API令牌和收集器ID作为URL参数:

http://localhost:3000/mcp?apiToken=YOUR_API_TOKEN&collectorId=YOUR_COLLECTOR_ID

例子:

http://localhost:3000/mcp?apiToken=<api_token>&collectorId=<collector_id>

这些凭据按会话存储,并由所有工具调用自动使用,因此您不需要在每次请求时都提供它们。

端点

  • POST/GET/DELETE/mcp -MCP协议端点(需要apiToken和collectorId查询参数)
  • GET/健康 -健康检查端点

工具

1.触发和收集

触发明亮数据收集并自动轮询,直到数据可用。

参数:

  • payload (数组,可选):与触发器请求一起发送的数据(默认值: [{}])
  • maxPollAttempts (数字,可选):最大轮询尝试次数(默认值:300)
  • pollInterval (数字,可选):轮询之间的毫秒数(默认值:1000)

退货:

{
  "success": true,
  "jobId": "j_mgp5y1ae2jxfr82211",
  "startEta": "2025-10-13T13:22:48.143Z",
  "status": "completed",
  "dataCount": 10,
  "pollingAttempts": 15,
  "data": [...]
}

2.触发器收集

在不等待结果的情况下触发集合。

参数:

  • payload (数组,可选):与触发器请求一起发送的数据(默认值: [{}])

退货:

{
  "success": true,
  "jobId": "j_mgp5y1ae2jxfr82211",
  "startEta": "2025-10-13T13:22:48.143Z",
  "message": "Collection triggered successfully. Use 'get_collection_data' to retrieve results."
}

3.收集数据

对现有收集作业中的数据进行民意调查。

参数:

  • jobId (string,必填):来自trigger_collection的作业ID
  • maxPollAttempts (数字,可选):最大轮询尝试次数(默认值:300)
  • pollInterval (数字,可选):轮询之间的毫秒数(默认值:1000)

退货:

{
  "success": true,
  "jobId": "j_mgp5y1ae2jxfr82211",
  "status": "completed",
  "dataCount": 10,
  "pollingAttempts": 8,
  "data": [...]
}

用法示例

连接到服务器:

  1. 使用启动服务器 npm start
  2. 使用带有凭据的URL进行连接:
    http://localhost:3000/mcp?apiToken=YOUR_TOKEN&collectorId=YOUR_COLLECTOR
    
  3. 无需再次传递凭据即可调用工具:
    • trigger_and_collect -触发并等待结果
    • trigger_collection -只需触发,即可取回作业ID
    • get_collection_data -使用作业ID轮询结果

API调用示例

直接使用Bright Data API:

触发集合:

curl -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[{}]' \
  "https://api.brightdata.com/dca/trigger?queue_next=1&collector=<collector_id>"

投票结果:

curl "https://api.brightdata.com/dca/dataset?id=<job_id>" \
  -H "Authorization: Bearer API_TOKEN"

配置

服务器使用以下默认值:

  • 端口:3000(可通过配置 PORT 任何人)
  • 轮询间隔:1秒
  • 最大轮询尝试次数:300次(共5分钟)

安全说明

  • 在生产环境中始终使用HTTPS
  • 确保API代币的安全
  • CORS配置允许所有来源-在生产中限制这一点

许可证

麻省理工学院