brightdata-mcp

brightdataMIT活跃维护

一个 MCP 服务器,让 AI 代理和 LLM 能稳定抓取公开网页,内置反爬与浏览器自动化,解决网页数据采集和提取的难题。

A powerful Model Context Protocol (MCP) server that provides an all-in-one solution for public web access.

v4.7.0发布于 2026-11-09 13:03 UTC2,717star +3 / 7 天336fork同步于 2026-11-10 11:43 UTC

怎么上手

由 README 提炼,执行前请确认
https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN_HERE
npx @brightdata/mcp
硬件要求按 README 说明

README 未说明硬件要求;提供托管远程服务,也可用 npx 本地运行,无需自建代理或无头浏览器

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 AI Agent 提供实时公网访问的 MCP 服务器,内置反爬与结构化抓取

一个 MCP 服务器,让 AI 代理和 LLM 能稳定抓取公开网页,内置反爬与浏览器自动化,解决网页数据采集和提取的难题。

核心能力

  • 暴露 30 个工具,覆盖搜索、抓取、浏览器自动化
  • 每次请求自动过反爬、解 CAPTCHA、轮换代理
  • 1200+ 预置爬虫直接输出结构化 JSON
  • 远程浏览器会话支持点击、输入、截图等 14 个工具
  • 可批量搜索与抓取,单次最多 5 个 URL

容易踩的坑

需要先在 Bright Data 账号设置里获取 API Token 并填入 URL 或环境变量 API_TOKEN;免费额度为每月 5000 次请求,用尽后请求会停止;本地运行需通过 npx 拉取 @brightdata/mcp 包。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v4.7.0
  1. v4.7.0最新正式版2026-11-09 · 2026-11-09 13:03 UTC

    Changed

    • search_engine returns a timeout error after 55 s, like search_engine_batch.
    • search_engine and search_engine_batch reject an empty query.
    • Bing searches no longer send the cc URL parameter; country is passed only as the request country.
    • scrape_as_markdown and scrape_batch cut page content at 40,000 characters (was 200,000 and 100,000).
    • scrape_as_markdown and scrape_batch no longer return final_url.
    • Search failed errors no longer end with a misleading Details: the search engine answer was not JSON.
    • Clearer search_engine, scrape_as_markdown and scrape_batch descriptions.
  2. v4.6.02026-11-05 · 2026-11-05 11:06 UTC
    查看更新说明

    Removed

    • scrape_as_html. Use scrape_as_markdown with format: 'html'.
    • extract.
    • WEB_UNLOCKER_ZONE. The server no longer uses or creates a Web Unlocker zone. The variable is ignored if set.

    Changed

    • A usage limit (client_10100) always returns Usage limit reached, naming both causes: free credits or funds used up, or a zone limit. It no longer guesses Free credits used up from the zone name.
  3. v4.5.02026-11-05 · 2026-11-05 10:29 UTC
    查看更新说明

    Changed

    • search_engine_batch waits up to 55 s (was 45 s) before returning a timeout for the searches that haven't finished.
    • Scraper tools have their own errors: Scraper not found (call search_scrapers), Method not found, Scraper input rejected (call get_scraper_details), Snapshot not found, Collection failed.
    • web_data_* tools that wait 10 minutes without data report Collection timed out with the snapshot_id, instead of Tool error.
    • Browser tools use the common error format: Element not found / Element ambiguous (take a new snapshot), Browser timed out, Site not found, Zone not found, Browser action failed.
    • ask_brightdata_assistant reports Assistant timed out with the dialog_id to retry with.
    • Reaching the RATE_LIMIT cap returns Call limit reached instead of Tool '...' execution failed: Rate limit exceeded.

    Fixed

    • scraping_browser_navigate accepts only http and https URLs.
  4. v4.4.02026-11-04 · 2026-11-04 11:29 UTC
    查看更新说明

    Changed

    • One error format for every tool: <Title>: <what happened>. <what to do> Details: <details>, e.g. Zone not found: ... or Rate limited: .... Titles replace the old codes (invalid_input, rate_limited, ...). Details carry the API's message, the HTTP status, or the error text, on every error.
    • Search errors name the query, fetch errors name the URL.
    • A missing zone, a usage limit and a failed sign-in are reported as such, never as a bad input.
    • scrape_batch returns one error per URL even when every URL fails. A batch that fails as a whole (job failed, timed out, rejected) is one error.
    • search_engine_batch returns one error when every query fails the same way (e.g. a bad token), instead of a copy per query.

    Fixed

    • scrape_as_html and extract report a failed page (unknown domain, site error, empty page) as an error instead of empty content.
    • An unknown domain is reported as Site not found on fetch tools too.
    • search_dataset with an unsupported filter says Filter rejected instead of reporting a service outage.
    • Browser tools with a bad token report Sign-in failed.
    • Bright Data's own error messages are no longer marked as untrusted web content; only site error pages from scrape_as_html and extract are.
    • A page in a misread character encoding (e.g. Shift_JIS) is returned with a note instead of being called a PDF or binary file.
    • URLs with a Unicode domain (e.g. https://münchen.de/) work: the host is sent as punycode, results keep the URL as given.
  5. v4.3.02026-11-02 · 2026-11-02 12:21 UTC
    查看更新说明

    Changed

    • search_engine and search_engine_batch use a SERP API zone instead of Web Unlocker. New SERP_ZONE env var (default mcp_serp); the zone is created on startup if missing.
    • Bing is the default engine. Both engines return JSON: {organic: [{link, title, description}]}.
    • geo_location is renamed to country, and cursor to page (a number from 0, 10 results per page). The old names return an invalid_input error.
    • New time_range: hour, day, week, month, year, any (default). Bing supports only day, week and year.
    • A search that returns no data gives a service_unavailable error.
    • search_engine_batch stops at 45 s and returns the searches that finished; the rest get a timeout error.
    • Each zone is created on its own, so one failed zone no longer skips the others.
    • Fetch API (scrape_as_markdown, scrape_batch) request errors use the same codes and texts as the hosted server: rate_limited (was busy), service_unavailable (was service_error), invalid_input (was invalid_url), quota_exceeded (new, usage limit reached) and a generic auth_failed (also on 407). A site limiting requests is now site_rate_limited.

    Removed

    • Yandex.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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

    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:

    ParameterDescriptionExample
    groups=<ids>Limit to specific tool groups (default: all tools)...&groups=scrapers,browser
    tools=<names>Limit to specific tools...&tools=search_engine,scrape_as_markdown
    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": "<your-api-token-here>"
          }
        }
      }
    }
    
    claude mcp add --transport http brightdata "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
    

    Add to ~/.cursor/mcp.json:

    {
      "mcpServers": {
        "brightdata": {
          "url": "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
        }
      }
    }
    

    Add to .vscode/mcp.json:

    {
      "servers": {
        "brightdata": {
          "type": "http",
          "url": "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
        }
      }
    }
    

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

    {
      "mcpServers": {
        "brightdata": {
          "serverUrl": "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
        }
      }
    }
    

    Add to ~/.gemini/settings.json:

    {
      "mcpServers": {
        "brightdata": {
          "httpUrl": "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
        }
      }
    }
    

    Add to your Zed settings:

    {
      "context_servers": {
        "brightdata": {
          "url": "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
        }
      }
    }
    

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

    {
      "brightdata": {
        "url": "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN"
      }
    }
    

    For any client that supports local MCP servers:

    {
      "mcpServers": {
        "Bright Data": {
          "command": "npx",
          "args": ["@brightdata/mcp"],
          "env": {
            "API_TOKEN": "<your-api-token-here>"
          }
        }
      }
    }
    

    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 & ExtractBrowser 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

    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.

    TaskTools
    Search the web for current informationsearch_engine, search_engine_batch
    Read a specific page as clean Markdownscrape_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.

    TaskTools
    Products, reviews and search results from Amazon, Walmart, eBay, Best Buy, Etsy, Home Depot, Zara and other storessearch_scrapers → get_scraper_details → run_scraper
    Cross-retailer price viewthe 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.

    TaskTools
    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 pagesscrape_as_markdown, scrape_batch
    Market discoverysearch_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.

    TaskTools
    Drop-in replacement for built-in web searchsearch_engine
    Drop-in replacement for built-in URL fetchscrape_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)

    Coding agents

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

    TaskTools
    npm and PyPI package version, README, metadatarun_scraper with the npmjs or pypi scraper (find them with search_scrapers)
    Read files from GitHub repositoriesrun_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.

    TaskTools
    ChatGPT answers with citations and recommendationschatgpt_ai_insights
    Perplexity answers with sourcesperplexity_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.

    PlatformExamples of scrapers
    LinkedInperson profiles, company profiles, job listings, posts, people search
    Instagramprofiles, posts, reels, comments
    TikTokprofiles, posts, shop, comments
    Facebookprofiles, posts, marketplace listings, company reviews, events
    YouTubevideos, channels, comments
    X (Twitter)posts, posts by profile
    Redditposts, 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.

    TaskTools
    Collect multiple sources in one callscrape_batch (up to 5 URLs)
    News and finance datasearch_engine with news queries, run_scraper with the Yahoo Finance scraper

    How It Compares

    CapabilityBright Data MCPTypical web MCP servers
    Total tools302–10
    Platform-specific structured JSON extractors1,200+ pre-built scrapers across e-commerce, social, business, finance, travel, app stores, through 6 toolsRare; generic scraping only
    Unblocking (bot detection bypass, CAPTCHA solving, proxy rotation)Built into every requestUsually none; blocked on protected sites
    Search enginesBing, GoogleUsually one
    Browser automation14 tools, remote browser, no local setupLimited or none
    LLM response collection (ChatGPT, Perplexity)YesNot offered
    Package registry data (npm, PyPI)YesNot offered
    Batch operations10 searches or 10 scrapes per callUsually single-request only
    Geo-targetingYesLimited or none
    Free tier5,000 requests/month, browser automation included, no credit cardVaries; 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 IDContentsTool count
    scrapersSearch and run any pre-built Web Scraper API scraper (Amazon, LinkedIn, TikTok, npm, ...)6
    browserRemote browser automation14
    geoChatGPT and Perplexity response collection2
    advanced_scrapingBatch tools, session stats3

    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:

    {
      "mcpServers": {
        "Bright Data": {
          "command": "npx",
          "args": ["@brightdata/mcp"],
          "env": {
            "API_TOKEN": "<your-api-token-here>",
            "GROUPS": "browser,advanced_scraping"
          }
        }
      }
    }
    

    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": "<your-api-token-here>",
            "GROUPS": "scrapers"
          }
        }
      }
    }
    

    Tools Reference (30 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
    • Raw HTML: scrape_as_markdown with format: '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
    ToolDescriptionGroup
    search_engineSearch 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)default / every group
    search_engine_batchUp to 5 search queries in one calldefault / advanced_scraping
    scrape_as_markdownAny URL. Returns the content as markdown (default), text, html or ld_jsondefault / every group
    scrape_batchUp to 5 URLs in one call. Returns the content as markdown (default), text, html or ld_jsondefault / advanced_scraping
    session_statsTool usage counts for the current sessiondefault / 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).

    ToolDescriptionGroup
    search_scrapersFind scrapers by site or data type (e.g. "amazon reviews", "linkedin.com"). Returns dataset ID, name, domain and collection methodsdefault / scrapers
    get_scraper_detailsDescription, input fields, example input and main output fields for one scraper methoddefault / scrapers
    run_scraperRun a scraper method. Waits up to 45 seconds; if still running, returns a snapshot_id to check laterdefault / scrapers
    get_scraper_progressStatus of a run: starting, running, ready, failed or canceleddefault / scrapers
    get_scraper_resultsRecords of a finished rundefault / scrapers
    refresh_scrapersReload the scraper list now instead of waiting for the daily refreshdefault / scrapers

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

    ToolDescription
    scraping_browser_navigateOpen or reuse a browser session and navigate to a URL
    scraping_browser_go_backNavigate back
    scraping_browser_go_forwardNavigate forward
    scraping_browser_snapshotARIA snapshot of the page listing interactive elements with refs. Required before ref-based actions
    scraping_browser_click_refClick an element by ref from the latest snapshot
    scraping_browser_type_refType into an element by ref; optionally press Enter to submit
    scraping_browser_fill_formFill several form fields by ref in one call
    scraping_browser_screenshotScreenshot of the current page; optional full_page
    scraping_browser_get_textText content of the page body
    scraping_browser_get_htmlHTML of the current page
    scraping_browser_scrollScroll to the bottom of the page
    scraping_browser_scroll_to_refScroll an element into view
    scraping_browser_wait_for_refWait for an element to become visible, with optional timeout
    scraping_browser_network_requestsNetwork 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.

    ToolInputReturns
    chatgpt_ai_insightsPromptChatGPT's answer as Markdown
    perplexity_ai_insightsPromptPerplexity'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.

    ToolDescriptionGroup
    list_dataset_fieldsFilterable fields of a dataset (name, type, description). Call before search_datasetdefault / social, business
    search_datasetRecords matching a filter, up to 10 per call, with a cursor for moredefault / social, business
    ToolDescriptionGroup
    ask_brightdata_assistantAsk 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 threaddefault / every group

    Full tool reference in the docs →


    Agent Skills

    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.

    Three of the highest-impact skills:

    SkillWhat it does
    bright-data-mcpMakes Bright Data MCP the default for all web data operations, replacing WebFetch, WebSearch, and other built-in web tools that fail on bot detection
    competitive-intelCompetitor snapshots, pricing comparison, review mining, hiring signals, content/SEO analysis, and market landscape maps from live web data
    price-comparisonResolves a product across Amazon, Walmart, eBay, Best Buy, and Google Shopping and names the cheapest in-stock option

    Browse all 21 skills →


    Configuration

    Basic setup (local)

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

    Advanced configuration

    {
      "mcpServers": {
        "Bright Data": {
          "command": "npx",
          "args": ["@brightdata/mcp"],
          "env": {
            "API_TOKEN": "your-token-here",
            "RATE_LIMIT": "100/1h",
            "SERP_ZONE": "custom_serp",
            "BROWSER_ZONE": "custom_browser"
          }
        }
      }
    }
    

    Environment variables

    VariableDescriptionDefaultExample
    API_TOKENYour Bright Data API token (required)-your-token-here
    RATE_LIMITCustom rate limitingunlimited100/1h, 50/30m
    SERP_ZONECustom SERP API zone name, used by the search toolsmcp_serpmy_serp_zone
    BROWSER_ZONECustom Browser zone namemcp_browsermy_browser_zone
    CONTENT_GATEWhen 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 disableonoff
    CONTENT_GATE_TIMEOUTSeconds to wait for the user's answer before withholding the content12060, 300
    BROWSER_FILTERED_SNAPSHOTscraping_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_textoffon
    BASE_TIMEOUTRequest timeout for base tools in seconds (search and scrape)No limit60, 120
    BASE_MAX_RETRIESMax retries for base tools on transient errors (0-3)01, 3
    GROUPSComma-separated tool group IDs. Limits the server to these groupsAll toolsscrapers,browser
    TOOLSComma-separated individual tool names. Limits the server to these toolsAll toolsscrape_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.


    Documentation

    ResourceLink
    API documentationdocs.brightdata.com/ai/mcp-server/overview
    Full tools referencedocs.brightdata.com/ai/mcp-server/tools
    Agent skillsgithub.com/brightdata/skills
    Usage examplesexamples
    ChangelogCHANGELOG.md

    Troubleshooting

    "spawn npx ENOENT" error

    Install Node.js, or use the full path to node:

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


    Contributing

    Please follow Bright Data's coding standards.


    Support

    ChannelLink
    GitHub issuesgithub.com/brightdata-com/brightdata-mcp/issues
    Documentationdocs.brightdata.com/ai/mcp-server/overview
    Email[email protected]

    License

    MIT © Bright Data Ltd.