Bright Data MCP Web search, page scraping, structured data extraction, and browser automation for AI agents and LLMs over the Model Context Protocol. Works with AI agents, coding agents, chat assistants, and any MCP-compatible client. Quick Start • Pricing • Use Cases • Tools • Agent Skills • Docs • Support Free tier: 5,000 requests per month. No credit card required. Renews monthly. ---
Tools
Tools
No tool list yet. Remote servers get one after the first health check.
Bright Data's Web MCP server enabling AI agents to search, extract & navigate the web
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Brightdata need an API key?
The publisher lists these environment variables: API_TOKEN, BROWSER_ZONE, GROUPS, TOOLS, BASE_TIMEOUT, BASE_MAX_RETRIES.
What transport does Brightdata use?
Brightdata is reached over HTTP.
When was Brightdata last checked?
Last checked 2026-11-10. Bright Data MCP Web search, page scraping, structured data extraction, and browser automation for AI agents and LLMs over the Model Context Protocol. Works with AI agents, coding agents, chat assistants, and any MCP-compatible client. Quick Start • Pricing • Use Cases • Tools • Agent Skills • Docs • Support Free tier: 5,000 requests per month. No credit card required. Renews monthly. ---
From the publisher
Documentation
Overview
The Bright Data MCP server gives AI agents real-time access to public web data. It exposes 30 tools covering:
Web search — Bing and Google results as structured data
Page scraping — any URL as Markdown or HTML, with bot detection, CAPTCHA solving, and proxy rotation handled automatically on every request
Structured data (Web Scraper API) — clean JSON from 1,200+ pre-built scrapers: Amazon, LinkedIn, Instagram, TikTok, YouTube, X, Reddit, Facebook, Crunchbase, Zillow, npm, PyPI and more, without parsing HTML. Six tools find and run any of them
Browser automation — navigate, click, type, screenshot, and read pages in a remote browser session
LLM response collection — send prompts to ChatGPT and Perplexity and get their answers back as structured data
Every request is routed through Bright Data's unblocking infrastructure, so pages that block ordinary HTTP clients (bot detection, CAPTCHAs, rate limits, geo-restrictions) return normally. No proxy setup, no headless browser maintenance, no retry logic to write.
Two deployment options: a hosted remote server (one URL, no installation) or a local instance via npx @brightdata/mcp.
Quick Start
Key features
01. Bright Data's Web MCP server enabling AI agents to search, extract & navigate the web
02. Bright Data MCP Web search, page scraping, structured data extraction, and browser automation for AI agents and LLMs over the Model Context Protocol
03. Works with AI agents, coding agents, chat assistants, and any MCP-compatible client
Every account includes a recurring monthly free tier. No credit card or commitment required to start.
5,000 free requests per month, renewing on the 1st of each month. Unused requests don't roll over. For team accounts, the free tier is shared across all users in the account.
What's included free:
Fetch any webpage and extract as Markdown
Access to 60+ pre-built scrapers for popular domains
Web search (Bing, Google)
Web unlocking (bot detection bypass, CAPTCHA solving, proxy rotation)
Browser automation
Geo-targeting
Beyond the free tier — pay as you go, no commitment:
Search, Scrape & Extract
Browser Navigation
Pay as you go
$1.50 / 1K results
$8 / GB
When free requests run out, requests stop. No surprise charges — unless you have deposited funds
Adding a credit card is a verification step only; you are not charged unless your free tier is exhausted and you have funds deposited
Set a spend cap in the control panel so pay-as-you-go usage never exceeds your budget
Answer questions using live web data instead of training data. Search, then read the sources.
Task
Tools
Search the web for current information
search_engine, search_engine_batch
Read a specific page as clean Markdown
scrape_as_markdown, scrape_batch
Example prompts: "What's Tesla's current stock price?", "Get today's weather forecast for New York", "Find the most cited sources on EU AI regulation from the last 6 months".
E-commerce intelligence
Read product data as structured JSON: price, availability, rating, review count, seller, images.
Task
Tools
Products, reviews and search results from Amazon, Walmart, eBay, Best Buy, Etsy, Home Depot, Zara and other stores
Example prompts: "Compare this laptop's price on Amazon vs Walmart vs Best Buy", "Get the rating and review count for ASIN B0D2Q9397Y", "Is this product in stock?".
Market and competitor analysis
Build competitor profiles from live data: funding, headcount, hiring, customer reviews, pricing pages.
Task
Tools
Company funding, size, employees, job postings (Crunchbase, ZoomInfo, LinkedIn)
search_scrapers → run_scraper
Customer sentiment (Google Maps, Facebook, app store reviews)
search_scrapers → run_scraper
Competitor pricing pages
scrape_as_markdown, scrape_batch
Market discovery
search_engine_batch
Example prompt: "Analyze Notion as a competitor: pricing, funding, hiring focus, and what customers complain about".
AI agents with reliable web access
Replace built-in fetch/search tools that get blocked on protected sites. Every request goes through unblocking infrastructure, so agents don't fail on bot detection, CAPTCHAs, or geo-restrictions.
Package registry data on demand — no scraping, no stale caches.
Task
Tools
npm and PyPI package version, README, metadata
run_scraper with the npmjs or pypi scraper (find them with search_scrapers)
Read files from GitHub repositories
run_scraper with the GitHub repository scraper
Example prompts: "What's the latest version of express on npm?", "Get the README for the langchain-brightdata PyPI package".
GEO and brand visibility
Send prompts to major LLMs and get their answers back as structured data. Measure how AI assistants describe your brand, which sources they cite, and what they recommend — the feedback loop for Generative Engine Optimization.
Task
Tools
ChatGPT answers with citations and recommendations
chatgpt_ai_insights
Perplexity answers with sources
perplexity_ai_insights
Example prompt: "Ask ChatGPT and Perplexity 'what is the best proxy provider' and compare how each one ranks us".
Social media monitoring
Structured data from every major platform: profiles, posts, comments, engagement metrics. Each platform has scrapers per data type (LinkedIn profiles, Instagram reels, TikTok comments, ...); find them with search_scrapers and run them with run_scraper.
Platform
Examples of scrapers
LinkedIn
person profiles, company profiles, job listings, posts, people search
Instagram
profiles, posts, reels, comments
TikTok
profiles, posts, shop, comments
Facebook
profiles, posts, marketplace listings, company reviews, events
YouTube
videos, channels, comments
X (Twitter)
posts, posts by profile
Reddit
posts, comments
Example prompt: "Get the last 10 posts from this TikTok profile and summarize the engagement".
Content creation and academic research
Gather source material from many pages at once, filtered by recency and relevance.
Task
Tools
Collect multiple sources in one call
scrape_batch (up to 5 URLs)
News and finance data
search_engine with news queries, run_scraper with the Yahoo Finance scraper
How It Compares
Capability
Bright Data MCP
Typical web MCP servers
Total tools
30
2–10
Platform-specific structured JSON extractors
1,200+ pre-built scrapers across e-commerce, social, business, finance, travel, app stores, through 6 tools
5,000 requests/month, browser automation included, no credit card
Varies; often rate-limited keyless access
Tool Selection: Groups
Tools are organized into groups so you only load what you need. Fewer tools means less context for your agent to process.
With no GROUPS or TOOLS, all 30 tools are enabled. Setting either one limits the server to those tools only
GROUPS enables tool bundles. Comma-separated: GROUPS="scrapers,browser" (local) or &groups=scrapers,browser (hosted URL)
TOOLS adds individual tools on top: TOOLS="scrape_batch,session_stats". On its own, it enables only the tools you list
Every group also includes search_engine, scrape_as_markdown and ask_brightdata_assistant
Group ID custom is reserved; use TOOLS for individual picks
Group ID
Contents
Tool count
scrapers
Search and run any pre-built Web Scraper API scraper (Amazon, LinkedIn, TikTok, npm, ...)
6
browser
Remote browser automation
14
geo
ChatGPT and Perplexity response collection
2
advanced_scraping
Batch tools, session stats
3
Older group IDs (ecommerce, social, business, finance, research, app_stores, travel, code) still work and enable the scrapers tools; social and business also add search_dataset and list_dataset_fields. Old web_data_* names in TOOLS enable the scrapers tools too.
Configuration examples
Local server with browser automation and batch tools:
Known URL, need the content:scrape_as_markdown. Multiple URLs (up to 5): scrape_batch
Need to find information:search_engine. Multiple queries (up to 5): search_engine_batch
Structured data from a known platform (Amazon, LinkedIn, TikTok, npm, PyPI, etc.):search_scrapers → get_scraper_details → run_scraper — returns clean JSON, faster and more reliable than scraping the same page
How ChatGPT/Perplexity answer a prompt:chatgpt_ai_insights / perplexity_ai_insights
Question about Bright Data itself (products, zones, errors, setup):ask_brightdata_assistant
Notes on scraper runs:
Return structured JSON, billed per record returned
Records with an error field explain inputs that failed, e.g. a URL of the wrong type
Results can be large. Keep limit_per_input low for discover_by_* methods and run bulk collection in a subagent where your framework supports it, so records don't flood the main context window
If a run fails, scrape_as_markdown works on the same URL as a fallback
Any URL. Returns the content as markdown (default), text, html or ld_json
default / every group
scrape_batch
Up to 5 URLs in one call. Returns the content as markdown (default), text, html or ld_json
default / advanced_scraping
session_stats
Tool usage counts for the current session
default / advanced_scraping
Search and run any of Bright Data's 1,200+ pre-built scrapers. The scraper list is loaded from docs.brightdata.com/scrapers.json and refreshed daily. Available on both the hosted and the local server. Enabled by default when no tools or groups are selected; otherwise add the scrapers group (&groups=scrapers on the hosted URL, GROUPS=scrapers locally).
Typical flow: search_scrapers → get_scraper_details → run_scraper. Runs are billed per record; discover_by_* methods collect up to limit_per_input records per input (default 10).
Tool
Description
Group
search_scrapers
Find scrapers by site or data type (e.g. "amazon reviews", "linkedin.com"). Returns dataset ID, name, domain and collection methods
default / scrapers
get_scraper_details
Description, input fields, example input and main output fields for one scraper method
default / scrapers
run_scraper
Run a scraper method. Waits up to 45 seconds; if still running, returns a snapshot_id to check later
default / scrapers
get_scraper_progress
Status of a run: starting, running, ready, failed or canceled
default / scrapers
get_scraper_results
Records of a finished run
default / scrapers
refresh_scrapers
Reload the scraper list now instead of waiting for the daily refresh
default / scrapers
Remote browser session. Typical sequence: navigate → snapshot → interact by ref → extract or screenshot.
Tool
Description
scraping_browser_navigate
Open or reuse a browser session and navigate to a URL
scraping_browser_go_back
Navigate back
scraping_browser_go_forward
Navigate forward
scraping_browser_snapshot
ARIA snapshot of the page listing interactive elements with refs. Required before ref-based actions
scraping_browser_click_ref
Click an element by ref from the latest snapshot
scraping_browser_type_ref
Type into an element by ref; optionally press Enter to submit
scraping_browser_fill_form
Fill several form fields by ref in one call
scraping_browser_screenshot
Screenshot of the current page; optional full_page
scraping_browser_get_text
Text content of the page body
scraping_browser_get_html
HTML of the current page
scraping_browser_scroll
Scroll to the bottom of the page
scraping_browser_scroll_to_ref
Scroll an element into view
scraping_browser_wait_for_ref
Wait for an element to become visible, with optional timeout
scraping_browser_network_requests
Network requests since page load: method, URL, status
Refs come from the latest snapshot. If the page changes after a click or navigation, take a new snapshot before the next ref-based action. For static pages, scrape_as_markdown is faster and cheaper than a browser session.
Tool
Input
Returns
chatgpt_ai_insights
Prompt
ChatGPT's answer as Markdown
perplexity_ai_insights
Prompt
Perplexity's answer as Markdown
Use for Generative Engine Optimization (tracking how LLMs describe your brand) and LLM-as-a-judge workflows.
Filter search over stored LinkedIn datasets; returns matching records at once, with no scraper run.
Tool
Description
Group
list_dataset_fields
Filterable fields of a dataset (name, type, description). Call before search_dataset
default / social, business
search_dataset
Records matching a filter, up to 10 per call, with a cursor for more
default / social, business
Tool
Description
Group
ask_brightdata_assistant
Ask Sophie, Bright Data's support assistant, about products, APIs, zones, errors or account setup. Pass the returned dialog_id to ask a follow-up in the same thread
Ready-to-use skills that teach your agent how to use this MCP server correctly. The full collection lives at github.com/brightdata/skills — 21 skills covering MCP orchestration, competitive intelligence, price comparison, brand listening, SEO audits, scraper building, RAG pipelines, and more.
Custom SERP API zone name, used by the search tools
mcp_serp
my_serp_zone
BROWSER_ZONE
Custom Browser zone name
mcp_browser
my_browser_zone
CONTENT_GATE
When page content returned by a data tool looks like instructions to change the MCP configuration, the server asks the user (via MCP elicitation) before returning it. Set to off to disable
on
off
CONTENT_GATE_TIMEOUT
Seconds to wait for the user's answer before withholding the content
120
60, 300
BROWSER_FILTERED_SNAPSHOT
scraping_browser_snapshot always lists only buttons, links and fields. Saves tokens, and stops page text posing as a clickable element (for sensitive tasks). If necessary, Page text can then be read with scraping_browser_get_text
off
on
BASE_TIMEOUT
Request timeout for base tools in seconds (search and scrape)
No limit
60, 120
BASE_MAX_RETRIES
Max retries for base tools on transient errors (0-3)
0
1, 3
GROUPS
Comma-separated tool group IDs. Limits the server to these groups
All tools
scrapers,browser
TOOLS
Comma-separated individual tool names. Limits the server to these tools
All tools
scrape_batch,session_stats
Content gate
scrape_as_markdown, search_engine and their batch variants return whatever a web
page says. If that content contains text that reads like instructions to change your MCP
configuration — register a server, run an npx -y package, edit the MCP config file — the server
pauses and asks you, through your MCP client, before returning it. Approve and the content is
returned unchanged; decline and it is withheld with a short explanation to the assistant. Pages that
do not contain such text are returned exactly as before, with no prompt. For a batch call, only the
matching items are withheld.
Pages that are about MCP configuration (documentation, READMEs) will naturally prompt. Clients that
do not support MCP elicitation get the matching content withheld; set CONTENT_GATE=off if you
accept the risk. While the server waits for your answer it reports progress; clients that do not
extend their tool timeout on progress will cap the wait at their own limit — CONTENT_GATE_TIMEOUT
is the knob on the server side. Browser tools are not covered.
"command": "/usr/local/bin/node" // macOS/Linux
"command": "C:\\Program Files\\nodejs\\node.exe" // Windows
Timeouts on complex sites
Increase the timeout in your client settings to 180s.
Authentication issues
Verify your API token is valid and has the required permissions. Tokens are managed in account settings.
run_scraper returns errors or no data
Records with an error field explain inputs that failed. Compare your input with sample_input from get_scraper_details (e.g., Amazon product URLs contain /dp/, Walmart ones /ip/) and check the page is publicly accessible. scrape_as_markdown works on the same URL as a fallback.
Remote server connection fails
Check your internet connection and firewall settings.