Skip to main content
Glama
0xConsole
by 0xConsole

Scraper-Health-MCP

Autonomous Self-Healing Scraper Fleet Manager for Bright Data Scraper Studio

The first agent that closes Bright Data's self-healing loop end-to-end without a human in the middle β€” turning the resume_automation_job endpoint the official demo couldn't find into a one-command "deploy and forget" scraper fleet.

Built for WeMakeDevs Into the Scrape-Verse hackathon (Aug 17–23, 2026).

🎯 The Problem

Web scrapers break silently. When a target site renames a CSS class, moves a field, or redesigns a layout, traditional scrapers return empty/garbage rows with no alarm. The failure is discovered only when a human notices the data is wrong β€” by which point downstream systems have been consuming bad data for hours or days.

Related MCP server: Reaper MCP

βœ… The Solution

Scraper-Health-MCP is an autonomous AI agent that wraps Bright Data's Scraper Studio self-healing API into a fully automated loop:

  1. Monitor β€” Runs scrapers on schedule and health-checks every result

  2. Detect β€” Catches breakage via schema validation, null-field detection, and row-count anomaly detection (Sentinel-style statistical baselines)

  3. Heal β€” Triggers Bright Data's AI self-healing (refactor_template)

  4. Auto-Approve β€” Programmatically accepts the AI's proposed extraction diff via resume_automation_job (the step Bright Data's own demo couldn't do)

  5. Verify β€” Re-scrapes and confirms health is restored

  6. Escalate β€” If healing fails, regenerates the scraper from scratch

πŸ”‘ The Technical Unlock

Bright Data's official self-healing demo repo (anil-bd/scraper-studio-self-healing-demo) explicitly states the public API "does not document an endpoint to approve programmatically" and exits with code 3 (awaiting approval) when the heal hits pending_answer, requiring manual UI approval.

The current docs DO expose POST /resume_automation_job with {message: true, auto_save: true} to accept the diff automatically. This means a fully autonomous, hands-off self-healing loop is now buildable β€” and almost no competitor will have found this.

πŸ€– MCP Server

The agent exposes 5 MCP tools callable from Claude Code, Cursor, or any MCP-compatible AI agent:

Tool

Description

create_scraper

Create a new scraper from URL + description via Bright Data AI Flow

run_collector

Trigger a collector and return results

health_check

Run collector + check output health (schema, nulls, row-count anomaly)

self_heal

Full autonomous loop: detect β†’ heal β†’ auto-approve β†’ re-scrape β†’ verify

verify

Verify a healed collector has restored health

πŸ—οΈ Architecture

Register collector (ID + schema + required fields)
        β”‚
        β–Ό
  Schedule / trigger run  ──►  POST /dca/trigger
        β”‚
        β–Ό
  Health-check result  ──►  GET /dca/dataset  (schema drift? nulls? row-count anomaly?)
        β”‚
   β”œβ”€β”€ healthy ─► log success, schedule next run
   └── broken  ─► TRIGGER SELF-HEAL
                    β”‚
                    β–Ό
          POST /refactor_template  (targeted heal prompt from the failed field)
                    β”‚
                    β–Ό
          Poll /refactor_template/progress
                    β”‚
                    β”œβ”€β”€ status:"pending_answer" ─► POST /resume_automation_job
                    β”‚                              {message:true, auto_save:true}   ← the unlock
                    └── done/failed
                    β”‚
                    β–Ό
          Re-scrape + verify against baseline schema
                    β”‚
                    β”œβ”€β”€ passes ─► log heal event, resume schedule
                    └── fails  ─► escalate: regenerate scraper from scratch (Workflow 1)
                                  + alert/notification

πŸ› οΈ Tech Stack

Layer

Tech

Scraper infra

Bright Data Scraper Studio (CLI + AI Flow API)

Backend

Python 3.12 + FastAPI

Agent interface

MCP server (5 tools)

Anomaly detection

In-package stats (mean/std row-count + schema validator)

Dashboard

Jinja2 templates + dark-themed HTML/CSS/JS

Deploy

Vercel serverless (free tier)

Repo

github.com/0xConsole/scraper-health-mcp

πŸš€ Setup

# Clone
git clone https://github.com/0xConsole/scraper-health-mcp.git
cd scraper-health-mcp

# Install
pip install -r requirements.txt

# Run (mock mode β€” no API key needed)
python -m uvicorn app.main:app --reload

# Run (live mode β€” with Bright Data API key)
export BRIGHTDATA_API_KEY="your-key-here"
python -m uvicorn app.main:app --reload

Open http://localhost:8000 to see the dashboard.

πŸ“‘ API Endpoints

Method

Path

Description

GET

/

Dashboard

GET

/api/health

Health check

GET

/api/status

Full orchestrator status

GET

/api/tools

List MCP tools

GET

/api/mcp/manifest

MCP server manifest

POST

/api/create_scraper

Create scraper (MCP tool 1)

POST

/api/run_collector

Run collector (MCP tool 2)

POST

/api/health_check

Health check (MCP tool 3)

POST

/api/self_heal

Self-heal loop (MCP tool 4)

POST

/api/verify

Verify heal (MCP tool 5)

POST

/api/demo

Full demo (break + heal cycle)

POST

/api/trigger_breakage

Simulate breakage + trigger heal

πŸŽͺ Demo

  1. Click "Run Full Demo" on the dashboard

  2. The agent health-checks all registered collectors

  3. Simulates a site change (breakage) on the first collector

  4. Detects the breakage via health check (null fields, row count anomaly)

  5. Triggers AI self-healing (refactor_template)

  6. Polls until the AI proposes a diff (pending_answer)

  7. Auto-approves the diff via resume_automation_job ← the unlock

  8. Re-scrapes and verifies health is restored

  9. Logs the entire heal event in the timeline

πŸ“Š What's Real vs Mocked

Component

Status

MCP server (5 tools)

βœ… Real β€” fully functional

Health checker (schema, nulls, anomaly)

βœ… Real β€” Sentinel-style stats

Heal orchestrator (full loop)

βœ… Real β€” all states wired

Auto-approve (resume_automation_job)

βœ… Real β€” calls actual endpoint when API key set

Bright Data API calls

πŸ”§ Mock mode (no key) / Real (with key)

Demo collectors

βœ… 3 seeded (HN, e-commerce, docs)

Dashboard + heal timeline

βœ… Real β€” live data from orchestrator

πŸ“ License

Apache 2.0


Built by Sentinel Dev Β· Team: Xayaan Ibrahim (Individual)

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables advanced browser automation using real Brave Browser with 49 tools for web scraping, content extraction, video downloads, CAPTCHA solving, and anti-detection features. Includes automatic Brave installation, built-in ad-blocking with uBlock Origin, and support for complex scenarios like bypassing Cloudflare protection.
    1,699 npm
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides AI-powered undetectable browser automation for data harvesting, bypassing protections like Cloudflare, and intercepting network traffic, with 90 tools for element interaction, extraction, and network debugging.
    2
    -
  • F
    license
    C
    quality
    D
    maintenance
    Enables AI-powered browser automation with real profiles, supporting interaction, navigation, form filling, and advanced features like visual overlays and self-healing selectors.
    42
    1
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to drive an evidence-based approval loop for Bright Data scraper repairs, detecting breakage, generating heal prompts, and verifying fixes against golden rows before commit.
    -