/ 디렉터리 / 플레이그라운드 / Bright Data
● 공식 brightdata 🔑 본인 키 필요

Bright Data

제작: brightdata · brightdata/brightdata-mcp

웹을 대규모로 검색하고 스크랩하며 차단 해제하세요 — 주거 프록시 + SERP API + 브라우저 자동화가 하나의 MCP로

Bright Data의 공식 MCP는 세 가지 기능을 제공합니다: Google/Bing/DuckDuckGo의 실시간 SERP 검색 결과, 언블로커/프록시 네트워크를 통한 단일 또는 대량 URL 스크래핑, 그리고 특정 대상(Amazon, LinkedIn 공개, Instagram 공개, Zillow 등)을 위한 사전 구축된 구조화된 스크래퍼 모음입니다. 크레딧은 계량되며, 샘플링 및 캐싱을 사용하세요.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

brightdata.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "brightdata": {
      "command": "npx",
      "args": [
        "-y",
        "@brightdata/mcp"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "brightdata": {
      "command": "npx",
      "args": [
        "-y",
        "@brightdata/mcp"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "brightdata": {
      "command": "npx",
      "args": [
        "-y",
        "@brightdata/mcp"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "brightdata": {
      "command": "npx",
      "args": [
        "-y",
        "@brightdata/mcp"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "brightdata",
      "command": "npx",
      "args": [
        "-y",
        "@brightdata/mcp"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "brightdata": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@brightdata/mcp"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add brightdata -- npx -y @brightdata/mcp

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: Bright Data

Google에서 여러 위치에 걸쳐 키워드 순위 추적하기

👤 SEO 팀 ⏱ ~20 min intermediate

언제 쓸까: 자체 프록시를 실행하지 않고도 US/UK/DE에서 50개 키워드의 일일 순위 추적을 원할 때

사전 조건
  • Bright Data API 토큰 — brightdata.com → dashboard → API tokens
  • 예산: SERP 쿼리당 약 $0.001–$0.003 — Bright Data 계정 크레딧 잔액
흐름
  1. 각 키워드/국가에 대해 SERP 실행하기
    각 키워드에 대해 country=us에서 Google SERP 검색을 실행합니다. 상위 10개 자연 검색 결과를 수집합니다(url, title, position).✓ 복사됨
    → 키워드별 순위 목록
  2. 도메인 위치 찾기
    각 결과 집합에서 mydomain.com이 나타나는 위치를 찾습니다('상위 10위에 없음' 포함). kw → position 출력합니다.✓ 복사됨
    → 순위 테이블
  3. 어제와의 비교
    어제의 JSON [붙여넣기]과 비교합니다. 3개 이상의 순위 변동을 강조합니다.✓ 복사됨
    → 일일 변동 보고서

결과: 50개 키워드에 대해 일일 약 $0.15의 비용으로 일일 순위 추적 워크플로우, 프록시 운영 불필요

함정
  • 각 국가/기기 조합은 별도의 쿼리로 계산됩니다 — 필요한 것만 추적하세요. 50 kw × 3 countries × 7 days = 1주일에 1050개 쿼리입니다
함께 쓰기: postgres · notion

데이터 센터 IP를 차단하는 페이지 가져오기

👤 일반 스크래핑 대상이 Cloudflare-Turnstile 뒤에 있는 개발자 ⏱ ~15 min intermediate

언제 쓸까: fetch / Firecrawl이 403을 반환하거나 중간 페이지가 나타날 때. 주거 IP가 필요합니다.

흐름
  1. 언블로커로 한 번 시도해보기
    Web Unlocker를 통해 <url>을 가져오세요. 렌더링된 HTML + HTTP 상태를 반환하세요.✓ 복사됨
    → 200 + 실제 HTML
  2. 필요한 것 추출하기
    해당 HTML에서 [필드 목록]을 추출합니다. JSON으로 반환하세요.✓ 복사됨
    → 구조화된 데이터
  3. 사이트 존중하기
    페이지에 'robots.txt disallow' 또는 명확한 anti-scrape 공지가 있으면 중단하고 알려주세요.✓ 복사됨
    → 동의 인식 폴백

결과: 프록시 풀을 유지하지 않고도 필요한 데이터를 얻습니다.

함정
  • 언블로커는 여전히 까다로운 대상(은행, SaaS 로그인 페이지)에서 실패할 수 있습니다 — 이들은 의도적으로 비공개입니다. 공식 API를 선택하거나 다른 접근 방식을 사용하세요
  • 대규모 크롤링 시 비용이 빠르게 증가합니다 — Firecrawl 또는 fetch는 보호되지 않은 사이트에 더 저렴합니다. 차단에 직면할 때만 Bright Data에 비용을 지불하세요
함께 쓰기: firecrawl

사전 구축된 스크래퍼를 통해 구조화된 Amazon 제품 데이터 세트 가져오기

👤 전자상거래 분석가 ⏱ ~20 min intermediate

언제 쓸까: 원본 HTML이 아닌 깔끔한 title/price/rating/bsr 필드가 있는 500개의 Amazon ASIN을 원할 때

사전 조건
  • ASIN 목록 또는 카테고리 URL — CSV 또는 텍스트 입력
흐름
  1. 사전 구축된 Amazon 스크래퍼 시작하기
    ASIN [목록]에 대해 Bright Data Amazon 제품 스크래퍼를 실행합니다. job id를 반환하세요.✓ 복사됨
    → Job id 발급됨
  2. 완료될 때까지 폴링하기
    job을 폴링합니다. 완료되면 데이터 세트를 가져오세요.✓ 복사됨
    → 전체 데이터 세트 전달됨
  3. 재실행을 피하기 위해 캐시하기
    데이터 세트를 /data/amazon-<date>.jsonl에 저장합니다. 오류가 발생한 ASIN에 플래그를 표시합니다.✓ 복사됨
    → 지속된 데이터 세트 + 오류 목록

결과: 깔끔하고 재실행 가능한 Amazon 제품 데이터 세트, 제품당 약 $X/1000(현재 가격 참조)

함정
  • 공개 LinkedIn/Instagram 스크래퍼는 지역에 따라 법적으로 다릅니다 — 공개 프로필 데이터 범위 내에서 머물러야 합니다. 인증을 우회하지 마세요. 해당 지역의 법률을 알아야 합니다
함께 쓰기: postgres · filesystem

SERP 전체에서 브랜드에 대한 일일 뉴스 검색

👤 PR / 통신 ⏱ ~15 min beginner

언제 쓸까: 뉴스 검색에서 브랜드에 대해 어떤 말들이 나오는지에 대한 일일 요약을 원할 때

흐름
  1. Google 뉴스 SERP 실행하기
    지난 24시간 동안 '<brand>'의 Google 뉴스 검색, country=us. source, title, url, snippet을 포함한 상위 20개 결과를 반환하세요.✓ 복사됨
    → 뉴스 SERP
  2. 스니펫에서 감정 분류하기
    제목 + 스니펫을 기반으로 각 결과를 긍정/중립/부정으로 점수 매깁니다. 부정으로 표시된 것을 검토를 위해 플래그 표시합니다.✓ 복사됨
    → 점수가 매겨진 목록
  3. 요약 전달하기
    마크다운 요약으로 형식 지정: 감정별 카운트, 링크가 있는 부정 항목, 상위 긍정 항목✓ 복사됨
    → 요약 준비 완료

결과: 개별 뉴스 사이트를 스크래핑하지 않고도 집중된 PR 요약

함정
  • 제목만으로는 감정 분석이 부정확합니다 — 제목과 스니펫이 모두 명확하게 부정일 때만 부정으로 표시합니다. 플래그를 인간이 검토합니다
함께 쓰기: notion

조합

다른 MCP와 조합해 10배 효율

brightdata + postgres

추세 분석을 위해 일일 순위 추적 행 저장

kw 목록에 대해 SERP를 실행하고, 오늘 날짜와 함께 keyword_ranks 테이블에 INSERT합니다.✓ 복사됨
brightdata + firecrawl

저가 우선, 언블록 폴백 크롤링

먼저 Firecrawl을 시도합니다. 403/차단되면 해당 URL에 대해서만 Bright Data Unlocker로 폴백합니다.✓ 복사됨
brightdata + notion

Notion에 게시된 주간 PR 요약

지난 7일 동안 브랜드 SERP를 실행하고 요약으로 Notion 페이지를 만듭니다.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
search_engine engine: 'google'|'bing'|'duckduckgo', query, country?, lang?, device? SERP / 순위 추적 워크플로우 ~$0.001–0.003 per query
scrape_as_markdown url 언블로커를 통해 단일 페이지를 깔끔한 마크다운으로 가져오기 페이지당 1 크레딧
scrape_as_html url 자신이 구문 분석할 원본 HTML이 필요할 때 페이지당 1 크레딧
web_data_<target> urls: str[] or params 사전 구축된 구조화된 스크래퍼(amazon, linkedin, zillow 등) 스크래퍼별 가격
scraping_browser_* url, actions 다단계 / JavaScript 집약적인 흐름 브라우저 세션 가격

비용 및 제한

운영 비용

API 쿼터
계정 크레딧으로 제한됨. 계획별 동시 요청
호출당 토큰
SERP: 500–2000 토큰. 스크랩된 페이지: 1000–5000 토큰.
금액
종량제. 일반적인 SERP $0.001–$0.003, 언블로커 1000페이지당 약 $3, 사전 구축된 스크래퍼는 1000개 레코드당 가격 책정
적극적으로 캐시하세요. 대부분의 데이터는 시간마다 변경되지 않습니다. 보호되지 않은 대상에는 더 저렴한 fetch/Firecrawl을 사용하세요.

보안

권한, 시크릿, 파급범위

최소 스코프: 관련 제품에 대한 영역 접근이 가능한 API 토큰
자격 증명 저장: BRIGHTDATA_API_TOKEN 환경 변수에
데이터 외부 송신: Bright Data의 프록시 네트워크를 통한 모든 요청. 대상 URL과 응답이 보입니다
절대 부여 금지: 일상적인 스크래핑을 위한 관리자 수준의 계정 토큰

문제 해결

자주 발생하는 오류와 해결

401 Invalid token

BRIGHTDATA_API_TOKEN이 누락되거나 만료되었습니다. 대시보드에서 다시 생성하세요.

확인: curl -H 'Authorization: Bearer $BRIGHTDATA_API_TOKEN' https://api.brightdata.com/zone/list
402 Insufficient credits

계정 잔액을 충전하거나 쿼리 볼륨을 줄이세요. 대시보드에서 소비 속도를 확인하세요.

Scraping job SUCCEEDED but dataset empty

사전 구축된 스크래퍼의 입력 스키마가 잘못되었습니다. 스크래퍼의 문서 페이지를 읽고 필수 필드를 확인하세요.

Target site still blocks despite unlocker

일부 사이트는 고급 핑거프린팅을 사용합니다. Scraping Browser with stealth로 전환하거나 대상을 포기하세요.

대안

Bright Data 다른 것과 비교

대안언제 쓰나단점/장점
Firecrawl MCP보호되지 않은 사이트, 일반적인 스크래핑적대적인 대상에서 실패
Apify MCP더 광범위한 Actor 마켓플레이스와 일반적인 대상에 대한 더 저렴한 가격 책정을 원할 때프록시 네트워크 품질이 Actor별로 다양함
SerpAPI MCPSERP만 필요하고 전체 스크래핑은 필요하지 않을 때언블로커 / 사전 구축된 스크래퍼 없음

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기