MCP server wrapping Bright Data products: Web Scraper API, SERP API, and Web Unlocker API for structured data extraction, search results, and anti-bot bypass
Server has 9 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_engine, scrape_as_markdown, list_datasets). Descriptions are present and substantive (100-250 chars typical). However, output schemas are not documented in the source code, LLMs cannot predict return structure. Parameter descriptions are good but lack explicit constraints (enums, ranges, patterns). Error handling is minimal, no recovery guidance or categorization. Batch tools (search_engine_batch, scrape_batch) are well-designed for composition. Async/polling pattern (scrape_async_trigger + scrape_poll) is sound but lacks progress reporting.
List available Bright Data Web Scraper datasets, optionally filtered by name and limited by count
Scrape data from a Bright Data Web Scraper dataset with structured inputs, supporting both sync and async modes
Fetch a URL and return its raw HTML content, bypassing anti-bot protection
Fetch a URL and return its content as clean markdown, bypassing anti-bot protection
Trigger an async scrape job and return immediately with a snapshot_id for polling
Batch scrape multiple URLs in parallel, returning markdown or HTML
Output schemas not documented. LLMs cannot predict return structure (fields, types, nesting). search_engine returns 'title, URL, snippet, position' but no formal schema visible. scrape returns markdown/HTML but structure undefined.
Parameter constraints not formalized. 'engine' accepts 'google|bing|yandex' but no enum declared. 'country' expects ISO 3166-1 alpha-2 but no pattern/constraint visible. 'max_workers' has no min/max bounds (default 5, max 10 mentioned in description but not schema).
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery hints (e.g., 'If API key invalid, check BRIGHTDATA_API_KEY env var'). Agents cannot self-correct on failure.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Poll the status and results of an async scrape job by snapshot_id
Search Google, Bing, or Yandex and return structured results with title, URL, snippet, and position
Batch search multiple queries across different search engines and countries in parallel
Async polling pattern lacks progress reporting. scrape_poll returns status but no progress percentage, ETA, or partial results. Agents cannot estimate wait time or decide to cancel.
API key exposed in environment. BRIGHTDATA_API_KEY passed as Bearer token in headers. If agent logs tool calls or traces, token leaks. No mention of secret rotation or scope limitation.