A powerful Model Context Protocol (MCP) server that provides an all-in-one solution for public web access.
Welcome to the official Bright Data Model Context Protocol (MCP) server, enabling LLMs, agents and apps to access, discover and extract web data in real-time. This server allows MCP clients, such as Claude Desktop, Cursor, Windsurf and others, to seamlessly search the web, navigate websites, take action and retrieve data - without getting blocked - perfect for scraping tasks.
The videos below demonstrate a minimal use case for Claude Desktop:
https://github.com/user-attachments/assets/59f6ebba-801a-49ab-8278-1b2120912e33
https://github.com/user-attachments/assets/61ab0bee-fdfa-4d50-b0de-5fab96b4b91d
For YouTube tutorials and demos: Demo
Some example queries that this MCP server will be able to help with:
Settings
โ Extensions
.dtx
file from Step 1 into the dropping area.claude_desktop_config.json
:nodejs
to get the npx
command (node.js module runner). Installation instructions can be found on the node.js website{
"mcpServers": {
"Bright Data": {
"command": "npx",
"args": ["@brightdata/mcp"],
"env": {
"API_TOKEN": "<insert-your-api-token-here>",
}
}
}
}
{
"mcpServers": {
"Bright Data": {
"command": "npx",
"args": ["@brightdata/mcp"],
"env": {
"API_TOKEN": "<insert-your-api-token-here>",
"RATE_LIMIT": "<optional if you want to change rate limit format: limit/time+unit, e.g., 100/1h, 50/30m, 10/5s>",
"WEB_UNLOCKER_ZONE": "<optional if you want to override the web unlocker zone name - default is mcp_unlocker>",
"BROWSER_ZONE": "<optional if you want to override the browser zone name - defaults is mcp_browser>"
}
}
}
}
Important: Always treat scraped web content as untrusted data. Never use raw scraped content directly in LLM prompts to avoid potential prompt injection risks.
Instead:
RATE_LIMIT
environment variable to control API usagelimit/time+unit
(e.g., 100/1h
for 100 calls per hour)RATE_LIMIT=100/1h
, RATE_LIMIT=50/30m
, RATE_LIMIT=10/5s
WEB_UNLOCKER_ZONE
environment variableBROWSER_ZONE
environment variableTo use this MCP server with other agent types, you should adapt the following to your specific software:
API_TOKEN=<your-token>
environment variable is setnpx @brightdata/mcp
export API_TOKEN=your-token
npx @brightdata/mcp
set API_TOKEN=your-token
npx @brightdata/mcp
$env:API_TOKEN="your-token"
npx @brightdata/mcp
๐ก Tip: You can also use a
.env
file and a tool likedotenv
to manage environment variables more easily during development.
Want to try Bright Data MCP without setting up anything?
Check out this playground on Smithery:
This platform provides an easy way to explore the capabilities of Bright Data MCP without any local setup. Just sign in and start experimenting with web data collection!
Some tools can involve reading web data, and the amount of time needed to load the page can vary by quite a lot in extreme circumstances.
To ensure that your agent will be able to consume the data, set a high enough timeout in your agent settings.
A value of 180s
should be enough for 99% of requests, but some sites load slower than others, so tune this to your needs.
This error occurs when your system cannot find the npx
command. To fix it:
macOS:
which node
Shows path like /usr/local/bin/node
Windows:
where node
Shows path like C:\Program Files\nodejs\node.exe
Replace the npx
command with the full path to Node, for example, on mac, it will look as follows:
"command": "/usr/local/bin/node"
We welcome contributions to help improve the Bright Data MCP! Here's how you can help:
For major changes, please open an issue first to discuss your proposed changes. This ensures your time is well spent and aligned with project goals.
If you encounter any issues or have questions, please reach out to the Bright Data support team or open an issue in the repository.
brightdata/brightdata-mcp
April 15, 2025
July 7, 2025
JavaScript