Skip to content
Cobalt Rentals

MCP Registry

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.

npm version npm downloads License

Quick Start • Pricing • Use Cases • Tools • Agent Skills • Docs • Support

Free tier: 5,000 requests per month. No credit card required. Renews monthly.

Overview

The Bright Data MCP server gives AI agents real-time access to public web data. It exposes 32 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

Hosted server — no installation. Add this URL to your MCP client:

https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN_HERE

Get your API token from your Bright Data account settings. New accounts get 5,000 free requests per month.

Optional URL parameters:

  • Description
    • groups=: Limit to specific tool groups (default: all tools)
    • tools=: Limit to specific tools
    • groups=: ...&groups=scrapers,browser
    • tools=: ...&tools=search_engine,scrape_as_markdown

    Claude Desktop

    1. Go to: Settings → Connectors → Add custom connector
    2. Name: Bright Data
    3. URL: https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN
    4. Click "Add"

    Or run locally:

    { "mcpServers": { "Bright Data": { "command": "npx", "args": ["@brightdata/mcp"], "env": { "API_TOKEN": "" } } } }

    Claude Code

    claude mcp add --transport http brightdata "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN"

    Cursor

    Add to ~/.cursor/mcp.json:

    { "mcpServers": { "brightdata": { "url": "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN" } } }

    VS Code

    Add to .vscode/mcp.json:

    { "servers": { "brightdata": { "type": "http", "url": "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN" } } }

    Windsurf

    Add to ~/.codeium/windsurf/mcp_config.json:

    { "mcpServers": { "brightdata": { "serverUrl": "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN" } } }

    Gemini CLI

    Add to ~/.gemini/settings.json:

    { "mcpServers": { "brightdata": { "httpUrl": "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN" } } }

    Zed

    Add to your Zed settings:

    { "context_servers": { "brightdata": { "url": "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN" } } }

    Warp

    Go to Settings > MCP Servers > Add MCP Server and add:

    { "brightdata": { "url": "https://mcp.brightdata.com/mcp?token=YOUR\_API\_TOKEN" } }

    Other clients (local npx)

    For any client that supports local MCP servers:

    { "mcpServers": { "Bright Data": { "command": "npx", "args": ["@brightdata/mcp"], "env": { "API_TOKEN": "" } } } }

    Pricing and Free Tier

    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

      • Pay as you go: $1.50 / 1K results

      Browser Navigation

      • Pay as you go: $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

      Full pricing, volume plans and enterprise →

      Use Cases

      Real-time research

      Answer questions using live web data instead of training data. Search, then read the sources.

      • 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.

        • Tools
          • Products, reviews and search results from Amazon, Walmart, eBay, Best Buy, Etsy, Home Depot, Zara and other stores: search_scrapers → get_scraper_details → run_scraper
          • Cross-retailer price view: the same flow with the Google Shopping scraper

          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.

          • 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.

            • Tools
              • Drop-in replacement for built-in web search: search_engine
              • Drop-in replacement for built-in URL fetch: scrape_as_markdown
              • Parallel data collection (5 at a time): search_engine_batch, scrape_batch
              • Interactive sites (login walls, infinite scroll, dynamic content): scraping_browser_* (14 tools)
              • Structured JSON from any page, no schema needed: extract

              Coding agents

              Package registry data on demand — no scraping, no stale caches.

              • 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.

                • 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.

                  • 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.

                    • 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

                      • Bright Data MCP
                        • Total tools: 32
                        • Platform-specific structured JSON extractors: 1,200+ pre-built scrapers across e-commerce, social, business, finance, travel, app stores, through 6 tools
                        • Unblocking (bot detection bypass, CAPTCHA solving, proxy rotation): Built into every request
                        • Search engines: Bing, Google
                        • Browser automation: 14 tools, remote browser, no local setup
                        • LLM response collection (ChatGPT, Perplexity): Yes
                        • Package registry data (npm, PyPI): Yes
                        • Batch operations: 10 searches or 10 scrapes per call
                        • Geo-targeting: Yes
                        • Free tier: 5,000 requests/month, browser automation included, no credit card
                        • Total tools: 2–10
                        • Platform-specific structured JSON extractors: Rare; generic scraping only
                        • Unblocking (bot detection bypass, CAPTCHA solving, proxy rotation): Usually none; blocked on protected sites
                        • Search engines: Usually one
                        • Browser automation: Limited or none
                        • LLM response collection (ChatGPT, Perplexity): Not offered
                        • Package registry data (npm, PyPI): Not offered
                        • Batch operations: Usually single-request only
                        • Geo-targeting: Limited or none
                        • Free tier: 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 32 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="extract,scrape_as_html". 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

                        • Contents

                          • scrapers: Search and run any pre-built Web Scraper API scraper (Amazon, LinkedIn, TikTok, npm, ...)
                          • browser: Remote browser automation
                          • geo: ChatGPT and Perplexity response collection
                          • advanced_scraping: Batch tools, HTML scraping, AI extraction, session stats

                          Tool count

                          • scrapers: 6
                          • browser: 14
                          • geo: 2
                          • advanced_scraping: 5

                          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 AI extraction:

                          { "mcpServers": { "Bright Data": { "command": "npx", "args": ["@brightdata/mcp"], "env": { "API_TOKEN": "", "GROUPS": "browser,advanced_scraping", "TOOLS": "extract" } } } }

                          Coding agent setup (Claude Code / Cursor / Windsurf) — npm, PyPI and GitHub data through the pre-built scrapers:

                          { "mcpServers": { "Bright Data": { "command": "npx", "args": ["@brightdata/mcp"], "env": { "API_TOKEN": "", "GROUPS": "scrapers" } } } }

                          Tools Reference (32 Tools)

                          Which tool to use

                          • 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
                          • Structured JSON from a page no scraper covers: extract
                          • Raw HTML: scrape_as_html
                          • Page requires interaction (click, type, scroll, login): scraping_browser_* tools
                          • 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

                          Search and Scraping — 7 tools

                          • Description
                            • search_engine: Search Bing (default) or Google. Returns JSON (link, title, description), 10 results per page. Params: country, page (from 0), time_range (hour, day, week, month, year, any; Bing supports only day, week, year)
                            • search_engine_batch: Up to 5 search queries in one call
                            • scrape_as_markdown: Any URL. Returns the content as markdown (default), text, html or ld_json
                            • scrape_batch: Up to 5 URLs in one call. Returns the content as markdown (default), text, html or ld_json
                            • scrape_as_html: Any URL as raw HTML
                            • extract: Scrape a page and convert it to structured JSON using AI, with an optional custom extraction prompt
                            • session_stats: Tool usage counts for the current session
                            • search_engine: default / every group
                            • search_engine_batch: default / advanced_scraping
                            • scrape_as_markdown: default / every group
                            • scrape_batch: default / advanced_scraping
                            • scrape_as_html: default / advanced_scraping
                            • extract: default / advanced_scraping
                            • session_stats: default / advanced_scraping

                            Web Scraper API — 6 tools

                            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).

                            • Description
                              • search_scrapers: Find scrapers by site or data type (e.g. "amazon reviews", "linkedin.com"). Returns dataset ID, name, domain and collection methods
                              • get_scraper_details: Description, input fields, example input and main output fields for one scraper method
                              • run_scraper: Run a scraper method. Waits up to 45 seconds; if still running, returns a snapshot_id to check later
                              • get_scraper_progress: Status of a run: starting, running, ready, failed or canceled
                              • get_scraper_results: Records of a finished run
                              • refresh_scrapers: Reload the scraper list now instead of waiting for the daily refresh
                              • search_scrapers: default / scrapers
                              • get_scraper_details: default / scrapers
                              • run_scraper: default / scrapers
                              • get_scraper_progress: default / scrapers
                              • get_scraper_results: default / scrapers
                              • refresh_scrapers: default / scrapers

                              Browser Automation — 14 tools

                              Remote browser session. Typical sequence: navigate → snapshot → interact by ref → extract or screenshot.

                              • 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.

                                GEO and LLM Visibility — 2 tools

                                • Input
                                  • chatgpt_ai_insights: Prompt
                                  • perplexity_ai_insights: Prompt
                                  • chatgpt_ai_insights: ChatGPT's answer as Markdown
                                  • perplexity_ai_insights: Perplexity's answer as Markdown

                                  Use for Generative Engine Optimization (tracking how LLMs describe your brand) and LLM-as-a-judge workflows.

                                  Dataset Search — 2 tools

                                  Filter search over stored LinkedIn datasets; returns matching records at once, with no scraper run.

                                  • Description
                                    • list_dataset_fields: Filterable fields of a dataset (name, type, description). Call before search_dataset
                                    • search_dataset: Records matching a filter, up to 10 per call, with a cursor for more
                                    • list_dataset_fields: default / social, business
                                    • search_dataset: default / social, business

                                    Bright Data Assistant — 1 tool

                                    • Description
                                      • 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
                                      • ask_brightdata_assistant: default / every group

                                      Full tool reference in the docs →