brightdata-gatekeeper
Manages the arXiv scraper collector, enabling detection of breakage, generation of heal briefs, and verification of proposed fixes against golden rows before approval.
Manages the Lobsters scraper collector, enabling detection of breakage, generation of heal briefs, and verification of proposed fixes against golden rows before approval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@brightdata-gatekeeperCheck mutant-recalls for breakage and heal it if needed."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
brightdata-gatekeeper
Evidence-based approval for Bright Data Scraper Studio self-healing.
Bright Data repairs broken scrapers. It does not decide whether a repair is correct. Gatekeeper does — it detects the break, writes the heal brief, then judges the proposed fix against rows recorded while the scraper was healthy, and rejects it if they disagree.
Dashboard | https://gatekeeper.rycerz.es — 29 collectors, 6,496 rows |
Mutation target | |
Walkthrough | |
Demo video | video/out/gatekeeper-demo.mp4 — 83s, generated from HTML, not screen-recorded |
The gap this fills
Bright Data's own CLI documentation states it plainly:
You are the detector. The CLI never decides on its own that a scraper is broken — you inspect the run output and decide. […] Vague prompts produce vague heals.
scraper heal rewrites a collector's template and stops at an approval gate. approve
commits it. --auto-approve skips the question. Nobody checks the answer.
Bright Data ships | Gatekeeper adds |
| Detector — catches breakage that still returns HTTP 200 |
| Brief generator — a typed field list carrying the diagnosis |
the gate, | Approver — judges the preview against golden rows |
run → validate → diagnose → brief → heal → verify → approve or reject → re-briefThe cycle is also reachable from nowhere else. Bright Data's Python SDK covers Scraper
Studio's trigger/poll/fetch but not heal or approve; its 69-tool MCP server has no
Scraper Studio tools at all. Gatekeeper ships an MCP server, so an agent can drive it.
Related MCP server: scraper-health-mcp
The result that matters
Against a live collector on a deliberately broken page, Bright Data's heal recovered four
fields correctly and silently dropped the fifth to null. units is declared optional, so
every schema, type and range check passed — zero broken findings:
--auto-approve would : APPROVE preview passes every field check
gatekeeper decided : REJECT 2/2 golden rows disagree
units: expected '118500', preview has 'null'--auto-approve would have committed a scraper that quietly stopped collecting unit
counts. The rejection reason went into the next brief, the retry matched golden on every
compared row, and the fix was verified on a fresh live run.
Quick start
uv sync --all-extras
npm install -g @brightdata/cli # Node >= 20
cp .env.example .env # add BRIGHTDATA_API_KEY
gatekeeper doctor # check the setup
gatekeeper spec add specs/mutant-recalls.json
gatekeeper status # survey every collector
gatekeeper check <collector_id> # detect
gatekeeper golden <collector_id> # record known-good rows
gatekeeper heal <collector_id> # run the loop
gatekeeper history <collector_id> # why a fix was committed or rejected
gatekeeper serve # dashboard on :8000As an MCP server, so an agent can drive the loop:
claude mcp add gatekeeper -- gatekeeper mcppreview_heal_brief shows the prompt that would be sent without spending an AI-Flow job.
Rules the loop obeys
Never trust an exit code. A run returning 200 with empty fields is the failure that matters.
Never heal a block.
blockedanddead_pagealarm but are not layout changes.Never approve without evidence. No golden rows means abstain, not approve.
Verify after committing. A preview is a promise; a live run is evidence.
Collectors
Four managed collectors, three of them real sites, none in Bright Data's 1,743 pre-built
scrapers — which gatekeeper coverage <url> checks rather than asserts.
Collector | Target | Rows | Notable |
| recalls.rycerz.es | 8 | Breaks on demand; five layouts, identical values |
| arxiv.org | 950 | Stable identity, so golden rows survive churn |
| news.ycombinator.com | 59 | Nested output, flattened via |
| lobste.rs | 125 | Arrived broken: 114 rows, every field absent |
Details, including the golden-bootstrap problem: docs/SITES.md.
Beyond those four, the loop was swept across 50 further sites — one collector each, spec inferred from its own output rather than hand-written. 20 diagnosed healthy across 5,354 records, and the sweep found four real defects in Gatekeeper that single-site testing never exposed, including rate-limited runs reading as healthy. Matrix and failure taxonomy: docs/SWEEP.md.
Layout
src/gatekeeper/
detector/ rules, baselines, engine — decides a scraper broke
brief/ diagnosis → typed heal prompt
approver/ judges a preview against golden rows
brightdata/ bdata CLI wrapper, envelopes, coverage check
controller the closed loop
mcp agent-callable tools
api, static the dashboard
mutant/ the mutation target, deployed as a WorkerTests
$ pytest -q
161 passedNo network and no credits: the bdata CLI is stubbed at the subprocess boundary and the
loop runs against a scripted client, so the whole state machine — including
reject-and-reconverge — is verified offline.
Notes
Deployment, and how the dashboard is published without credentials: docs/DEPLOY.md. Things the live API taught us that the docs did not: docs/FINDINGS.md.
MIT.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
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
Preflight QA for AI-agent deliverables with structured verdicts and repair guidance.
Browser-backed QA with evidence and fix-ready reports for coding agents.
Human-in-the-loop review and approval for AI agents. Audit trail, approval policies, native MCP.
Browser-based QA for AI-built software. Test pages with real browsers via agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables agents to resolve data incidents by preparing remediation, inspecting verification results, and staging for human approval, while integrating with DataHub for evidence.5Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables autonomous self-healing scraper fleet management for Bright Data Scraper Studio, with health checking, anomaly detection, and automated AI-driven scraper repair and approval.-
- AlicenseNot gradedqualityAmaintenanceAuditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.81Apache 2.0

QualityMax QA MCPofficial
AlicenseAqualityAmaintenanceEnables coding agents to independently verify web changes by scanning pages, inspecting UI structure, generating Playwright reproductions, and executing tests with structured QA evidence.41,2242MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rycerzes/brightdata-gatekeeper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server