Search and scraping through Bright Data, for sites that block ordinary requests.
- Started in our test
- ★ 2.7K GitHub stars
- 11.8K downloads a week
- Last commit 26 Oct 2026
At a glance
Bright Data sells proxy and unblocking infrastructure, and this server puts it behind MCP tools: search engine results, page scraping as Markdown, and a hosted browser for sites that need interaction.
Reach for it when simpler scrapers come back with captchas or empty pages.
- Made by
- Bright Data
- Licence
- MIT
- Latest version
- 4.1.0 (20 Oct 2026)
- npm package
- @brightdata/mcp
- GitHub stars
- 2.7K
- Downloads
- 11.8K a week
- Last commit
- 26 Oct 2026
- Tools
- 32
- Runs on
- Your computer
Our check: We ran this exact config on 26 Oct 2026: it started and answered with 32 tools. @brightdata/mcp on npm is published from brightdata/brightdata-mcp.
What's in the pod: its tools
We found 32 tools when we started it on 26 Oct 2026. 26 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.
Runs commands1 tool · Can start programs or run code.
| Tool | What it is for |
|---|---|
run_scraper | Starts a ready-made scraper for sites like Amazon, LinkedIn or TikTok. |
Changes things5 tools · Can create, edit, send or delete.
| Tool | What it is for |
|---|---|
chatgpt_ai_insights | Sends a prompt to ChatGPT and captures the answer it gives, for tracking how AI mentions a brand. |
perplexity_ai_insights | Captures Perplexity's answer to a prompt, sources included. |
scraping_browser_click_ref | Clicks an element on the remote browser page. |
scraping_browser_fill_form | Fills in several form fields in one step. |
scraping_browser_type_ref | Types text into a field. |
Only reads26 tools · Looks things up and changes nothing.
| Tool | What it is for |
|---|---|
ask_brightdata_assistant | Asks Bright Data's helper which of its tools or scrapers suits a job. |
extract | Scrapes a page and pulls out the fields you ask for as structured JSON. |
get_scraper_details | Shows what inputs a ready-made scraper expects, with a sample. |
get_scraper_progress | Checks how far a running scraper job has got. |
get_scraper_results | Collects the records from a finished scraper job. |
list_dataset_fields | Lists the fields available in one of Bright Data's prepared datasets. |
refresh_scrapers | Reloads the list of ready-made scrapers. |
scrape_as_html | Fetches a page's raw HTML, getting past blocks and captchas. |
scrape_as_markdown | Fetches a page as clean Markdown, getting past blocks and captchas. |
scrape_batch | Fetches several pages at once. |
scraping_browser_get_html | Reads the current page's HTML. |
scraping_browser_get_text | Reads the current page's visible text. |
scraping_browser_go_back | Goes back one page in the remote browser. |
scraping_browser_go_forward | Goes forward one page. |
scraping_browser_navigate | Opens a URL in a remote browser that runs on Bright Data's network. |
scraping_browser_network_requests | Lists the network calls the page made. |
scraping_browser_screenshot | Takes a screenshot of the remote page. |
scraping_browser_scroll | Scrolls the page down. |
scraping_browser_scroll_to_ref | Scrolls until a chosen element is in view. |
scraping_browser_snapshot | Lists the page's buttons, links and fields so the agent can pick one. |
scraping_browser_wait_for_ref | Waits for an element to appear before carrying on. |
search_dataset | Searches one of Bright Data's prepared datasets. |
search_engine | Runs a Google, Bing or Yandex search and returns the results page. |
search_engine_batch | Runs several searches in one call. |
search_scrapers | Finds a ready-made scraper for a site. |
session_stats | Shows how many requests each tool has used this session. |
Grouped and described by us. The README on GitHub lists the inputs each tool takes.
Set it up
Pick your app for the exact snippet and where it goes.
Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"bright-data": {
"command": "npx",
"args": [
"-y",
"@brightdata/mcp"
],
"env": {
"API_TOKEN": "your-bright-data-token"
}
}
}
}Where it goes: Your terminal, in the project folder
claude mcp add-json bright-data '{"command":"npx","args":["-y","@brightdata/mcp"],"env":{"API_TOKEN":"your-bright-data-token"}}'Where it goes: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"bright-data": {
"command": "npx",
"args": [
"-y",
"@brightdata/mcp"
],
"env": {
"API_TOKEN": "your-bright-data-token"
}
}
}
}Where it goes: .vscode/mcp.json in your project
{
"servers": {
"bright-data": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@brightdata/mcp"
],
"env": {
"API_TOKEN": "your-bright-data-token"
}
}
}
}Where it goes: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"bright-data": {
"command": "npx",
"args": [
"-y",
"@brightdata/mcp"
],
"env": {
"API_TOKEN": "your-bright-data-token"
}
}
}
}Where it goes: Not supported
ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.
New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.
Settings
Names are exactly as the project spells them. Required ones are marked.
| Setting | What it does |
|---|---|
API_TOKENEnvironment variable · required | Your Bright Data API token from account settings. For the hosted server it goes in the URL as token=.https://mcp.brightdata.com/mcp?token=YOUR_TOKEN |
GROUPSEnvironment variable | Load only some tool bundles: scrapers, browser, geo or advanced_scraping. On the hosted URL use &groups=.scrapers,browser |
TOOLSEnvironment variable | Load only the named tools, or add them on top of GROUPS.extract,scrape_as_html |
RATE_LIMITEnvironment variable | Caps how many calls it makes in a time window.100/1h |
WEB_UNLOCKER_ZONEEnvironment variable | Name of the Web Unlocker zone to bill scrapes to. Defaults to mcp_unlocker. |
BROWSER_ZONEEnvironment variable | Name of the browser zone for the remote browser tools. Defaults to mcp_browser. |
CONTENT_GATEEnvironment variable | On by default: if a scraped page contains text telling the AI to change its MCP setup, you are asked before it is passed on. Set to off to skip the question. |
What it can touch
It can read
- Public web pages, search results and social or shopping sites, routed through Bright Data's proxy network
- Answers from ChatGPT and Perplexity
It can change
- Nothing on your machine
- Uses requests from your Bright Data allowance; once the free 5,000 a month are gone, calls stop unless you have added funds
Safer setup: Keep CONTENT_GATE on so a booby-trapped page cannot quietly instruct your agent, and set RATE_LIMIT to cap spending.
Before you start
- A Bright Data account and API token
If it does not work
- spawn npx ENOENT
- Install Node.js, or put the full path to node or npx in the command field.
- Complex sites time out
- Raise your client's tool timeout to around three minutes, or set BASE_TIMEOUT higher.
- run_scraper returns errors or nothing
- Call get_scraper_details and match its sample input. Amazon product links need /dp/ in them, for example.
- Pages about MCP setup get withheld
- The content gate is asking for your approval. Approve in your client, or set CONTENT_GATE=off if your client cannot show the prompt.
Peas in a pod: similar servers
How Bright Data lines up against other browser and web data servers on the shelf.
| Server | Tools | Runs on | Licence | Stars |
|---|---|---|---|---|
| Bright Data | 32 | Your computer | MIT | 2.7K |
| SearXNG | 4 | Your computer | MIT | 1.3K |
| Playwright MCP | 25 | Your computer | Apache-2.0 | 38.7K |
| Firecrawl | 28 | Your computer | MIT | 7.7K |
| Exa | 2 | Your computer or hosted | – | 5.2K |
Questions
Is there a free tier?
Yes, 5,000 requests a month with no card needed, renewing on the 1st. Remote browser tools are included.
Why does it get through blocks other scrapers hit?
Requests run through Bright Data's proxy and unblocking network, which handles captchas and bot checks.
Can I load fewer tools?
Yes. With 32 tools it is big, so use GROUPS or TOOLS to give the agent only what it needs.
What licence is it?
The server code is MIT licensed. The scraping runs on Bright Data's paid platform.
Something wrong on this page? Tell us.