brightdata-gatekeeper
brightdata-gatekeeper
Bright Data Scraper Studio の自己修復に対するエビデンスベースの承認。
Bright Data は壊れたスクレイパーを修復する。しかし、修復が正しいかどうかを判断するのは Bright Data ではない。それを判断するのが Gatekeeper である。Gatekeeper は破損を検出し、修復ブリーフを作成し、スクレイパーが正常だったときに記録された行と提案された修正を照合して判断し、一致しなければ拒否する。
ダッシュボード | |
ミューテーション対象 | |
ウォークスルー | |
デモ動画 | video/out/gatekeeper-demo.mp4 — 83 秒、HTML から生成、スクリーン録画ではない |
このプロジェクトが埋めるギャップ
Bright Data 自身の CLI ドキュメントにはこう明記されている:
検出器はあなたである。 CLI はスクレイパーが壊れていると独自に判断することは決してない。実行出力を調べて判断するのはあなただ。[…] 曖昧なプロンプトは曖昧な修復を生む。
scraper heal はコレクターのテンプレートを書き換え、承認ゲートで停止する。approve はそれをコミットする。--auto-approve は確認をスキップする。その答えを検証する者は誰もいない。
Bright Data が提供するもの | Gatekeeper が追加するもの |
| 検出器 — それでも HTTP 200 を返す破損を捉える |
| ブリーフ生成器 — 診断結果を載せた型付きフィールドリスト |
ゲート、 | 承認器 — プレビューをゴールデン行と照合して判断する |
run → validate → diagnose → brief → heal → verify → approve or reject → re-briefこのサイクルは他のどこからも到達できない。Bright Data の Python SDK は Scraper Studio の trigger/poll/fetch をカバーしているが、heal と approve はカバーしていない。同社の 69 ツールの MCP サーバーには Scraper Studio ツールがまったくない。Gatekeeper は MCP サーバーを同梱しているため、エージェントがこのサイクルを駆動できる。
Related MCP server: UI Debugger MCP
重要な結果
意図的に壊したページ上のライブコレクターに対して、Bright Data の heal は 4 つのフィールドを正しく復元し、5 つ目を黙って null に落とした。units はオプションとして宣言されているため、スキーマ、型、範囲のすべてのチェックを通過した — 破損の検出ゼロ:
--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 を使っていれば、ユニット数を黙って収集しなくなったスクレイパーをコミットしていただろう。拒否理由は次のブリーフに反映され、再試行は比較されたすべての行でゴールデン行と一致し、修正は新しいライブ実行で検証された。
クイックスタート
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 :8000MCP サーバーとして提供されるため、エージェントがループを駆動できる:
claude mcp add gatekeeper -- gatekeeper mcppreview_heal_brief は、AI-Flow ジョブを消費せずに送信されるであろうプロンプトを表示する。
ループが従うルール
終了コードを信頼するな。 200 を返しながらフィールドが空の実行こそが、重要となる失敗である。
ブロックを修復するな。
blockedとdead_pageは警告を発するが、レイアウト変更ではない。エビデンスなしに承認するな。 ゴールデン行がなければ承認ではなく棄権である。
コミット後に検証する。 プレビューは約束であり、ライブ実行はエビデンスである。
コレクター
4 つの管理対象コレクター。うち 3 つは実在のサイトで、いずれも Bright Data の 1,743 のプリビルトスクレイパーには含まれていない。gatekeeper coverage <url> はこれを断言するのではなく確認する。
コレクター | ターゲット | 行数 | 特記事項 |
| recalls.rycerz.es | 8 | オンデマンドで破損。5 つのレイアウト、同一の値 |
| arxiv.org | 950 | 識別子が安定しているため、ゴールデン行は変動があっても維持される |
| news.ycombinator.com | 59 | ネストされた出力を |
| lobste.rs | 125 | 壊れた状態で到着:114 行、すべてのフィールドが欠落 |
ゴールデン行のブートストラップ問題を含む詳細は、docs/SITES.md を参照。
レイアウト
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 Workerテスト
$ pytest -q
138 passedネットワークもクレジットも不要:bdata CLI はサブプロセス境界でスタブ化され、ループはスクリプト化されたクライアントに対して実行される。そのため、拒否と再収束を含む状態機械全体がオフラインで検証される。
備考
デプロイ方法、およびダッシュボードを認証情報なしで公開する方法は、docs/DEPLOY.md を参照。ライブ API が教えてくれた、ドキュメントには載っていなかったこと:docs/FINDINGS.md。
MIT.
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 Servers
- FlicenseAqualityDmaintenanceAutomated Playwright E2E test repair powered by a self-improving, governed MCP server that runs failing tests, collects failure artifacts, reasons about root causes, validates and applies fixes, and re-runs to verify.12
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously debug UIs by delegating high-level stories to a small agent that drives browsers or desktop apps and reports structured pass/fail findings with evidence.1492MIT
- 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 gradedqualityDmaintenanceDetects brittle Playwright selectors and provides healing suggestions, action receipts, human approvals, and failure exports.
Related MCP Connectors
Browser-backed QA with evidence and fix-ready reports for coding agents.
Turn the web into structured, reliable, actionable enterprise data for AI Agents
Stealth scraping & search. Bypasses Cloudflare, DataDome & LinkedIn via Cyborg HITL approach.
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