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)

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    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.
    1
  • 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/0xConsole/scraper-health-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server