Skip to main content
Glama
brightdata

Bright Data MCP

Official
by brightdata

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
API_TOKENYesYour Bright Data API token from the user settings page
BROWSER_AUTHNoOptional authentication string for enabling remote browser control tools, formatted like: brd-customer-[your-customer-ID]-zone-[your-zone-ID]:[your-password]
WEB_UNLOCKER_ZONENoOptional override for the default mcp_unlocker zone name

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
logging
{}
prompts
{}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ask_brightdata_assistantA

Ask Bright Data's support assistant (Sophie) a question about Bright Data products, APIs, MCP usage, zones, scraping, or account setup. Use when the user asks "how do I..." about Bright Data, when you hit a Bright Data error you don't recognize, or when deciding between products (Web Unlocker vs. Scraping Browser vs. dataset tools). Supports threaded follow-ups via dialog_id.

search_engineA

Scrape search results from Google, Bing or Yandex. Returns SERP results in JSON or Markdown (URL, title, description),Ideal forgathering current information, news, and detailed search results.

scrape_as_markdownA

Fetch one web page. Returns JSON: url, title, format, content. content is the page in one format, markdown by default. Pick another with the format param:

  • text: plain text, no links or headings

  • html: raw HTML, for CSS selectors or data hidden in the markup

  • ld_json: schema.org data (price, rating, author...) If the page has no data in that format, markdown is returned instead, with a note. No JavaScript rendering. Pages that take longer than 45 s time out.

search_engine_batchB

Run multiple search queries simultaneously. Returns JSON for Google, Markdown for Bing/Yandex.

scrape_batchA

Fetch up to 5 web pages at once. Returns a JSON array in input order, one item per URL: url, title, format, content, or url and error if that page failed. content is the page in one format, markdown by default. Pick another with the format param:

  • text: plain text, no links or headings

  • html: raw HTML, for CSS selectors or data hidden in the markup

  • ld_json: schema.org data (price, rating, author...) If a page has no data in that format, markdown is returned instead, with a note. No JavaScript rendering. Pages that take longer than 35 s time out.

scrape_as_htmlA

Scrape a single webpage URL and get back the results in HTML.

extractA

Scrape a webpage and extract structured data as JSON. First scrapes the page as markdown, then uses AI sampling to convert it to structured JSON format.

list_dataset_fieldsA

List the filterable fields of a searchable dataset (field name, type, and description). Call this before search_dataset to learn which field names and types you can filter on. Supported dataset_id values:

  • gd_l1viktl72bvl7bjuj0: LinkedIn people profiles

  • gd_me5ppxjr2ge6icjuh0: LinkedIn people profiles (contact-enriched)

  • gd_l1vikfnt1wgvvqz95w: LinkedIn company information

search_datasetA

Search a Bright Data dataset by a filter and get matching records back directly (fast Elasticsearch-backed search; no snapshot). Use this to FIND MANY records by criteria, as opposed to run_scraper which collects fresh records by URL. First call list_dataset_fields to get valid field names. A filter is a tree: a group {operator:"and"|"or", filters:[...]} or a leaf {name, value, operator}. Max nesting depth 3. Leaf operators: =, !=, <, <=, >, >=, in, not_in, includes, not_includes, array_includes, not_array_includes, is_null, is_not_null. Supported dataset_id values:

  • gd_l1viktl72bvl7bjuj0: LinkedIn people profiles

  • gd_me5ppxjr2ge6icjuh0: LinkedIn people profiles (contact-enriched)

  • gd_l1vikfnt1wgvvqz95w: LinkedIn company information

search_scrapersA

Find a Bright Data pre-built scraper (Web Scraper API, 1,200+ sites) for a site or data type, e.g. "amazon reviews" or "linkedin.com". Returns dataset_id, name, domain and collection_methods. Next: call get_scraper_details with a dataset_id and one method.

get_scraper_detailsA

Show the scraper description, input fields, example input and main output fields for one method. Call before run_scraper and build the input from sample_input or input_fields. Records may contain more fields than output_fields lists.

run_scraperA

Run a scraper method. input is a list of objects shaped like sample_input from get_scraper_details, one per URL or query. collect_by_url returns one record per input; discover_by_* methods return up to limit_per_input records per input, and every record is billed. Waits up to 45 seconds; if still running it returns snapshot_id with status "running": then poll get_scraper_progress and call get_scraper_results when ready. Records with an "error" field explain failed inputs.

get_scraper_progressB

Status of a run: starting, running, ready, failed or canceled.

get_scraper_resultsC

Records of a finished run. Returns status "running" if not ready yet.

refresh_scrapersA

Reload the scraper list now instead of waiting for the daily refresh.

session_statsC

Tell the user about the tool usage during this session

chatgpt_ai_insightsB

Send a prompt to ChatGPT and get back AI-generated insights. Returns structured answer text, citations, recommendations, and markdown. Useful for GEO and LLM as a judge.

perplexity_ai_insightsB

Send a prompt to Perplexity and get back AI-generated insights. Returns structured answer text in markdown format. Useful for GEO and LLM as a judge.

scraping_browser_navigateB

Navigate a scraping browser session to a new URL

scraping_browser_go_backB

Go back to the previous page

scraping_browser_go_forwardB

Go forward to the next page

scraping_browser_snapshotA

Capture an ARIA snapshot of the current page showing all interactive elements with their refs. This provides accurate element references that can be used with ref-based tools. Use this before interacting with elements to get proper refs instead of guessing selectors. A filtered snapshot does not include page text; If necessary, call scraping_browser_get_text to read it.

scraping_browser_click_refA

Click on an element using its ref from the ARIA snapshot. Use scraping_browser_snapshot first to get the correct ref values. This is more reliable than CSS selectors.

scraping_browser_type_refA

Type text into an element using its ref from the ARIA snapshot. Use scraping_browser_snapshot first to get the correct ref values. This is more reliable than CSS selectors.

scraping_browser_screenshotA

Take a screenshot of the current page. Set full_page to capture the whole scrollable page.

scraping_browser_network_requestsA

Get all network requests made since loading the current page. Shows HTTP method, URL, status code and status text for each request. Useful for debugging API calls, tracking data fetching, and understanding page behavior.

scraping_browser_wait_for_refA

Wait for an element to be visible using its ref from the ARIA snapshot. Use scraping_browser_snapshot first to get the correct ref values. This is more reliable than CSS selectors.

scraping_browser_fill_formA

Fill multiple form fields in one operation. Use scraping_browser_snapshot first to get the correct ref values. This is more efficient than filling fields one by one.

scraping_browser_get_textB

Get the text content of the current page

scraping_browser_get_htmlB

Get the HTML content of the current page. Avoid using this tool and if used, use full_page option unless it is important to see things like script tags since this can be large

scraping_browser_scrollB

Scroll to the bottom of the current page

scraping_browser_scroll_to_refA

Scroll to a specific element using its ref from the ARIA snapshot. Use scraping_browser_snapshot first to get the correct ref values. This is more reliable than CSS selectors.

Prompts

Interactive templates invoked by user choice

NameDescription
web_scraping_strategyDecision tree for picking the right Bright Data tool. Invoke at the start of any scraping session to learn the correct tool selection order (pre-built scrapers -> Fetch API -> Browser API).
diagnose_scraping_approachRun a two-step diagnostic to discover the correct Bright Data product for a new website. Tries the Fetch API first, then Browser API, then reports which succeeded.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 32 tools

Disambiguation3/5

Most tools target distinct actions, but there is real overlap: scrape_as_html duplicates scrape_as_markdown with format='html', and scraping_browser_get_text/get_html and scrape_as_markdown's text/html formats read similar. The two AI-insight tools (chatgpt_ai_insights vs perplexity_ai_insights) and the scrape vs extract vs run_scraper trio are separable only by careful reading of descriptions.

Naming Consistency4/5

All snake_case and mostly verb_noun with clear group prefixes (scraping_browser_*, get_scraper_*, search_*). Minor deviations: bare 'extract', noun-first names like session_stats and chatgpt_ai_insights, and the ad-hoc 'as_' pattern in scrape_as_markdown/scrape_as_html, but nothing that breaks predictability.

Tool Count3/5

32 tools is heavy, driven mostly by the 14-tool scraping_browser_* automation subgroup. That subgroup is internally coherent and justified by the browser-automation capability, but combined with scraper/dataset/search/AI-insight tools the surface is larger than an agent can comfortably navigate.

Completeness4/5

Covers stateless scraping, batch, search, an extract/sampling path, full dataset and scraper lifecycle (discover, inspect, run, poll progress, fetch results, refresh), and full browser automation. Minor gaps: no explicit snapshot download/export or list/cancel of snapshots, and no dataset-schema discovery beyond filterable fields.

Maintenance

ActivityActive
ResponsivenessSlow