GitHub - brightdata/brightdata-mcp: A powerful Model Context Protocol (MCP) server that provides an all-in-one solution for public web access. (original) (raw)

Bright Data Logo

Bright Data MCP

Enhance AI Agents with Real-Time Web Data

🌟 Overview

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.

MCP

Table of Content

🎬 Demo

The videos below demonstrate a minimal use case for Claude Desktop:

bright-data-mcp-scraping-browser-demo-claude.mp4 bright-data-mcp-with-claude-quick-demo.mp4

For YouTube tutorials and demos: Demo

✨ Features

🚀 Quickstart with Claude Desktop

  1. Install nodejs to get the npx command (node.js module runner). Installation instructions can be found on the node.js website
  2. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:

{ "mcpServers": { "Bright Data": { "command": "npx", "args": ["@brightdata/mcp"], "env": { "API_TOKEN": "", "WEB_UNLOCKER_ZONE": "", "BROWSER_ZONE": "<optional browser zone name, defaults to mcp_browser>" } } } }

🔧 Available Tools

List of Available Tools

⚠️ Security Best Practices

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:

🔧 Account Setup

  1. Make sure you have an account on brightdata.com (new users get free credit for testing, and pay as you go options are available)
  2. Get your API key from the user settings page
  3. (Optional) Create a custom Web Unlocker zone
    • By default, we create a Web Unlocker zone automatically using your API token
    • For more control, you can create your own Web Unlocker zone in your control panel and specify it with the WEB_UNLOCKER_ZONE environment variable
  4. (Optional) To enable browser control tools:
    • By default, the MCP tries to fetch credentials of mcp_browser zone.
    • If you don't have an mcp_browser zone, you can :
      * Create a Browser API zone in your control panel or use an existing one and specify its name using the BROWSER_ZONE environment variable

Browser API Setup

🔌 Other MCP Clients

To use this MCP server with other agent types, you should adapt the following to your specific software:

🔄 Breaking Changes

Browser Authentication Update

BREAKING CHANGE: The BROWSER_AUTH environment variable has been replaced with BROWSER_ZONE.

🔄 Changelog

CHANGELOG.md

🎮 Try Bright Data MCP Playgrounds

Want to try Bright Data MCP without setting up anything?

Check out this playground on Smithery:

2025-05-06_10h44_20

This platform provide 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!

💡 Usage Examples

Some example queries that this MCP server will be able to help with:

⚠️ Troubleshooting

Timeouts when using certain tools

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.

spawn npx ENOENT

This error occurs when your system cannot find the npx command. To fix it:

Finding npm/Node Path

macOS:

Shows path like /usr/local/bin/node

Windows:

Shows path like C:\Program Files\nodejs\node.exe

Update your MCP configuration:

Replace the npx command with the full path to Node, for example, on mac, it will look as follows:

"command": "/usr/local/bin/node"

👨‍💻 Contributing

We welcome contributions to help improve the Bright Data MCP! Here's how you can help:

  1. Report Issues: If you encounter any bugs or have feature requests, please open an issue on our GitHub repository.
  2. Submit Pull Requests: Feel free to fork the repository and submit pull requests with enhancements or bug fixes.
  3. Coding Style: All JavaScript code should follow Bright Data's JavaScript coding conventions. This ensures consistency across the codebase.
  4. Documentation: Improvements to documentation, including this README, are always appreciated.
  5. Examples: Share your use cases by contributing examples to help other users.

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.

📞 Support

If you encounter any issues or have questions, please reach out to the Bright Data support team or open an issue in the repository.