
Bright Data MCP Server: Setup for Claude, Cursor and Other Apps
Lets your assistant search the web, read blocked pages, pull structured data from big sites and drive a remote browser through Bright Data.
This is the server Bright Data publishes for its own web data service. It runs on your computer with npx and needs a Bright Data API token. A hosted version at mcp.brightdata.com also exists, and takes the same token in the address.
Bright Data's free tier gives 5,000 requests a month with no credit card. After that, requests stop unless you have deposited funds, then they are billed per result or per GB of browser traffic.
Good for
- Researchers who need current web data instead of the model's memory
- Developers whose built-in fetch tool gets blocked by bot checks
- Marketing and e-commerce teams tracking prices, reviews and social posts
- Teams checking how ChatGPT and Perplexity describe their brand
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install brightdata MCP
Claude Code
- 1
Copy this prompt.
Add the brightdata MCP server to Claude Code. Run this command: claude mcp add brightdata -e API_TOKEN=<API_TOKEN> -- npx -y @brightdata/mcp Ask me for API_TOKEN and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
The first method runs the server on your computer with npx and your API_TOKEN. The second is Bright Data's hosted server, which takes the token as part of its web address. Anything that logs or shares that address (a config in git, a screenshot, a proxy) exposes the token, so prefer the local method on shared machines. Both need a Bright Data account and its API token. The README documents the hosted address for the clients listed here; for other clients use the local method.
Built from the package data we hold. Not yet tested by us.
Tools
Searches Google or Bing and returns the results
Runs a web search on Bing (default) or Google and returns the title, link and snippet for 10 results per page. You can set a country and a time range.
Try: “Search for news from the last week about EU AI regulation.”
Network ·
search_engineReads any web page as clean text
Opens a page through Bright Data's unblocking network, which handles bot checks and CAPTCHAs, and returns the content as markdown. It can also return plain text, HTML or JSON-LD.
Try: “Read https://example.com/pricing and summarize the plans.”
Network ·
scrape_as_markdownRuns several searches in one go
Sends up to 5 search queries at once and returns the results for each.
Try: “Search for these five competitor names and list the top result for each.”
Network ·
search_engine_batchReads several web pages in one go
Fetches up to 5 URLs in a single call and returns each page as markdown, text, HTML or JSON-LD.
Try: “Read these five product pages and compare their prices.”
Network ·
scrape_batchGets the raw HTML of a page
Returns the unprocessed HTML source of a URL, fetched through the same unblocking network.
Try: “Get the raw HTML of this page so I can check its meta tags.”
Network ·
scrape_as_htmlTurns a web page into structured JSON
Reads a page as markdown and then asks your AI client to convert it into JSON, optionally following your own extraction instructions.
Try: “Extract the product name, price and rating from this page as JSON.”
Network ·
extractFinds a ready-made scraper for a site
Looks up Bright Data's catalog of over 1,200 prebuilt scrapers by site or data type, such as Amazon reviews or LinkedIn profiles.
Try: “Is there a scraper for TikTok comments?”
Network ·
search_scrapersShows what a scraper needs and returns
Describes one scraper method, including its input fields, an example input and the main fields it returns. It is meant to be called before running the scraper.
Try: “What input does the Amazon product scraper take?”
Network ·
get_scraper_detailsRuns a scraper and returns structured records
Starts a prebuilt scraper with the inputs you give and waits up to 45 seconds for the records. If it is still running it returns an ID to check later. Each record returned is billed.
Try: “Get the rating and review count for this Amazon product page.”
Network ·
run_scraperChecks whether a scraper run has finished
Reports whether a started scraper run is starting, running, ready, failed or canceled.
Try: “Is my LinkedIn scrape finished yet?”
Network ·
get_scraper_progressFetches the records of a finished run
Returns the records collected by a scraper run once it is ready.
Try: “Show me the results from the scrape that just finished.”
Network ·
get_scraper_resultsReloads the scraper catalog
Refreshes the list of available scrapers right away instead of waiting for the daily update.
Try: “Refresh the scraper list.”
Network ·
refresh_scrapersOpens a page in a remote browser
Starts or reuses a remote browser session and goes to the URL you give it.
Try: “Open the login page of this site in a browser.”
Network ·
scraping_browser_navigateLists the clickable parts of the open page
Returns an accessibility snapshot of the page with a reference for each button, link and field. Other browser actions use these references, so take a new one after the page changes.
Try: “Show me what buttons and fields are on this page.”
Network ·
scraping_browser_snapshotClicks something on the page
Clicks the element you point to from the latest snapshot. This can submit forms or trigger actions on the site.
Try: “Click the "Load more" button.”
Write ·
scraping_browser_click_refTypes into a field on the page
Types text into a field from the latest snapshot and can press Enter to submit it.
Try: “Type "wireless headphones" in the search box and press Enter.”
Write ·
scraping_browser_type_refFills in several form fields at once
Fills multiple fields of a form in one call, using references from the latest snapshot.
Try: “Fill in the contact form with my name and email.”
Write ·
scraping_browser_fill_formTakes a screenshot of the page
Captures an image of the current page, or the full page if you ask for it.
Try: “Take a full-page screenshot of this page.”
Network ·
scraping_browser_screenshotReads the text of the open page
Returns the text content of the page body in the remote browser.
Try: “Read the text on the page after it finished loading.”
Network ·
scraping_browser_get_textGets the HTML of the open page
Returns the HTML of the page currently open in the remote browser.
Try: “Get the HTML of the page as it looks now.”
Network ·
scraping_browser_get_htmlGoes back one page
Moves the remote browser back to the previous page.
Try: “Go back to the results list.”
Network ·
scraping_browser_go_backGoes forward one page
Moves the remote browser forward in its history.
Try: “Go forward again.”
Network ·
scraping_browser_go_forwardScrolls to the bottom of the page
Scrolls the open page to the end, which loads content on pages that fill in as you scroll.
Try: “Scroll to the bottom so all items load.”
Network ·
scraping_browser_scrollScrolls a specific element into view
Scrolls the page until the element you choose from the snapshot is visible.
Try: “Scroll to the pricing table.”
Network ·
scraping_browser_scroll_to_refWaits for something to appear
Waits until an element shows up on the page, with an optional time limit.
Try: “Wait until the results table appears.”
Network ·
scraping_browser_wait_for_refLists the requests the page made
Returns the network requests since the page loaded, with method, URL and status.
Try: “Which API calls did this page make?”
Network ·
scraping_browser_network_requestsAsks ChatGPT a question and returns its answer
Sends your prompt to ChatGPT through Bright Data and returns the answer as markdown. Useful for checking how ChatGPT describes a brand.
Try: “Ask ChatGPT what the best proxy provider is and show me the answer.”
Network ·
chatgpt_ai_insightsAsks Perplexity a question and returns its answer
Sends your prompt to Perplexity through Bright Data and returns the answer as markdown.
Try: “Ask Perplexity which CRM tools are best for startups.”
Network ·
perplexity_ai_insightsShows which fields a dataset can be filtered by
Lists the filterable fields of a stored LinkedIn dataset, with their types. It is called before searching the dataset.
Try: “What fields can I filter LinkedIn company data by?”
Network ·
list_dataset_fieldsFinds records in a LinkedIn dataset
Searches a stored LinkedIn dataset with a filter you describe and returns up to 10 matching records per call, with a cursor for the next page.
Try: “Find LinkedIn companies in Berlin with 50 to 200 employees.”
Network ·
search_datasetAsks Bright Data's support assistant
Sends a question about Bright Data products, zones, errors or account setup to its assistant, and lets you follow up in the same thread.
Try: “Why is my scraper zone returning an error?”
Network ·
ask_brightdata_assistantShows how many times each tool was used
Returns the number of calls made to each tool during the current session.
Try: “How many tool calls have I used this session?”
Read ·
session_stats
Read from the source code
Permissions
medium risk · 4 things to watch
Medium risk
It can browse any public website for you, click and fill in forms in a remote browser, and spend your Bright Data balance. Create a separate API token for it and set a spend cap in the Bright Data control panel.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
The remote browser can click and submit forms
Three browser tools click, type and fill forms on live sites, and the source marks them as not read-only. Leave out the browser group if you do not need it. github.com
Usage is billed after the free tier
Scraper runs are billed per record and browser traffic per GB once you have deposited funds. Set a spend cap in the Bright Data control panel. github.com
Web pages can try to steer the assistant
Search and scrape results return whatever a page says. A content gate asks you before returning text that looks like an instruction to change your MCP setup, but it does not cover the browser tools. github.com
Hosted option puts the token in the web address
The hosted server at mcp.brightdata.com takes your API token as a ?token= part of its URL. Browsers, proxies, shell history, config files in git and screenshots can all record a URL, and the token is account-wide. Use the local install if you cannot keep the address private, and rotate the token if it leaks. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Set GROUPS (for example scrapers) or TOOLS in the environment to load only the tools you want. This leaves out the browser tools that click and type. |
|---|---|
| Talks to | api.brightdata.com. Websites you ask it to open. chatgpt.com and perplexity.ai through Bright Data |
| Sign-in and keys | The API token sits in your client config as the API_TOKEN setting. The server does not store it elsewhere. |
| Scopes |
|
Questions
Is the Bright Data MCP server official?
Yes. Bright Data publishes it from its own repository, and it connects to Bright Data's own service.
Is it free?
Partly. The server is MIT-licensed and the free tier gives 5,000 requests a month with no credit card. After that, requests stop unless you have deposited funds, then pay as you go starts at $1.50 per 1,000 results and $8 per GB for browser traffic.
What do I need to use it?
A Bright Data account and an API token from your account settings, plus Node.js for the local install. Put the token in the setting shown in the install box.
Does it run locally or in the cloud?
Both. The install box runs it on your computer, but the work itself happens on Bright Data's servers. The README also describes a hosted version at mcp.brightdata.com/mcp that takes the token as a URL parameter.
Can I load fewer than 32 tools?
Yes. Set GROUPS to pick bundles such as scrapers or browser, or TOOLS to pick individual tools. Fewer tools means less for your assistant to read.
How is it different from my assistant's built-in web search?
It routes every request through Bright Data's unblocking network, so pages that block normal fetches still load. It also adds ready-made scrapers for sites like Amazon and LinkedIn, and a remote browser.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
@brightdata/mcp- Registry
- npm
- Transport
- stdio
- Auth
- token in env
- Version
- 4.1.1
- License
- MIT
- Last commit
- Oct 29, 2026
- Open issues
- 14
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- README.md · github.com
- server.js · github.com
- browser_tools.js · github.com
- scraper_tools.js · github.com