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

Firecrawl

제작: firecrawl · firecrawl/firecrawl-mcp-server

웹 페이지를 AI 에이전트가 실제로 사용할 수 있는 깔끔한 구조화된 데이터로 변환하세요 — JS 렌더링 사이트를 처리하고 스키마를 통해 JSON을 제공합니다.

Firecrawl은 LLM 소비용으로 최적화된 호스팅 스크래핑 서비스입니다. 기본 fetch MCP가 원본 HTML을 제공하는 반면, Firecrawl은 JS가 많은 페이지를 렌더링하고, 보일러플레이트를 제거하며, 깔끔한 마크다운을 반환하고, JSON 스키마를 통한 구조화된 추출을 지원합니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

firecrawl.replay ▶ 준비됨
0/0

설치

클라이언트 선택

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

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

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

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

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

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

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

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

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

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

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

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

claude mcp add firecrawl -- npx -y firecrawl-mcp

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

사용 사례

실전 활용법: Firecrawl

라이브 경쟁사 가격 비교 테이블 구축

👤 시장 조사를 하는 PM, 창업자 ⏱ ~20 min intermediate

언제 쓸까: 가격 전략을 업데이트하고 5개 경쟁사의 비교 가능한 요금제 가격과 출처를 확인해야 할 때

사전 조건
  • Firecrawl API key — firecrawl.dev — 무료 티어는 500 크레딧 제공, 약 50개 페이지에 충분합니다
흐름
  1. '가격'이 의미하는 바에 대한 스키마 정의
    [카테고리]의 가격을 비교하고 싶습니다. 요금제 이름, 월간 가격, 포함된 사용량, 주요 기능 및 초과 사용 시 가격을 캡처하는 스키마를 정의하세요.✓ 복사됨
    → 이 필드를 엄격한 유형으로 갖춘 스키마
  2. 5개 경쟁사 URL에서 병렬로 추출 실행
    스키마를 사용하여 이 5개 URL에서 가격을 추출하세요: [URL 목록]. 구조화된 추출 엔드포인트를 사용합니다.✓ 복사됨
    → 비교할 수 있는 5개의 정규화된 JSON 객체
  3. 인용 문헌과 함께 비교 테이블로 렌더링
    각 경쟁사를 열로 하여 마크다운 테이블로 렌더링하세요. 각 출처 URL을 가리키는 인용 각주를 추가하세요.✓ 복사됨
    → 문서 또는 프레젠테이션에 바로 삽입할 수 있는 비교

결과: 언제든지 다시 실행하여 변경 사항을 감지할 수 있는 정규화된 가격 테이블 — 새로고침당 약 5개의 Firecrawl 크레딧 소요.

함정
  • 가격 페이지에는 스크래핑으로 드러나지 않는 토글(월/년, 사용량 계층)이 있습니다actions: [{type: 'click', selector: '...toggle...'}]를 사용하여 두 상태를 모두 캡처하거나 최종 출력에서 제한 사항을 기록하세요
  • 일부 사이트는 Cloudflare를 통해 스크래퍼를 차단합니다 — Firecrawl은 대부분을 처리합니다. 계속 차단되면 페이지가 의도적으로 안티봇 조치를 사용하고 있을 가능성이 높으므로, 이를 존중하고 수동으로 인용하세요
함께 쓰기: notion · google-sheets

경쟁사 문서 사이트에서 새로운 기능 모니터링

👤 제품 마케터, 경쟁 정보 담당자 ⏱ ~15 min intermediate

언제 쓸까: 경쟁사가 새로운 것을 출시할 때 24시간 이내에 알고 싶습니다. 그들의 변경 로그/블로그에서 공지합니다.

사전 조건
  • URL of their changelog or blog index page — 보통 /changelog, /blog, /releases 또는 /whats-new입니다
흐름
  1. 변경 로그 색인 크롤링
    <URL>을 depth=1로 크롤링하고 모든 게시물 URL과 날짜를 반환하세요. 가장 최근 50개로 제한하세요.✓ 복사됨
    → 날짜가 있는 최근 게시물 목록
  2. 각 게시물을 정규화된 형식으로 추출
    지난 30일 동안 게시된 게시물의 경우 제목, 날짜, 요약 및 기능 이름 언급을 JSON으로 추출하세요.✓ 복사됨
    → 지난주 실행과 비교하여 diff할 수 있는 구조화된 변경 로그
  3. 지난주 대비 새로운 내용 강조
    이전 실행과 비교하세요 [이전 JSON 붙여넣기]. 이번 주에 새로운 것은 무엇이고 전략적 의미는 무엇입니까?✓ 복사됨
    → 전략적 설명이 있는 Diff

결과: 예약된 작업으로 실행할 수 있는 주간 경쟁사 요약 — 기능 출시를 놓치지 않습니다.

함정
  • RSS 피드는 보통 존재하며 스크래핑보다 저렴합니다 — 먼저 <url>/feed.xml 또는 <url>/rss를 시도하세요 — 피드가 없을 때만 스크래핑으로 돌아가세요
함께 쓰기: notion

구조화된 기업정보 데이터를 사용하여 회사 URL 목록 보강

👤 영업, 마케팅 운영 ⏱ ~30 min intermediate

언제 쓸까: 200개 회사 웹사이트의 CSV를 가지고 있으며 아웃리치 우선순위를 정하기 위해 직원 수, 산업 및 기술 스택이 필요합니다.

사전 조건
  • Source list of URLs — 홈페이지 URL의 CSV 또는 텍스트 파일
흐름
  1. 보강 스키마 정의
    다음 스키마를 정의하세요: company_name, industry, employee_count_estimate, headquarters_location, primary_product_description (1줄), tech_stack_signals (목록).✓ 복사됨
    → 엄격한 JSON 스키마
  2. 속도 제한과 함께 각 URL에서 추출
    [목록]의 각 URL에 대해 스키마를 사용하여 Firecrawl 추출을 실행하세요. 예의 있게 진행하기 위해 10개씩 일괄 처리하고 2초 대기합니다.✓ 복사됨
    → URL별 JSON, 오류는 별도로 기록됨
  3. 깔끔한 CSV 출력
    원본 URL을 조인 키로 하여 결과를 CSV로 변환하세요. 추출이 실패한 행에 플래그를 지정하여 수동으로 다시 시도할 수 있게 하세요.✓ 복사됨
    → CRM으로 가져올 준비가 된 CSV

결과: 약 $2의 Firecrawl 크레딧으로 약 10분 내에 200행의 보강된 리드 목록.

함정
  • 일부 회사는 정보가 없는 단일 페이지 스플래시만 가지고 있습니다 — Claude가 이러한 항목에 플래그를 지정하여 환각보다는 수동 검토를 수행합니다
  • 규모별로 비용이 누적됩니다 — 10k URL = 실제 비용 — 전체 목록에서 실행하기 전에 먼저 샘플을 통해 스키마 품질을 검증하세요
함께 쓰기: filesystem

조합

다른 MCP와 조합해 10배 효율

firecrawl + notion

스크래핑, 요약, Notion 지식 기반에 직접 게시

지난 30일 동안 anthropic.com/news의 모든 게시물을 스크래핑하고, 각각을 2문장으로 요약하고, 'AI News' 데이터베이스에서 각각에 대한 Notion 페이지를 생성합니다.✓ 복사됨
firecrawl + postgres

경쟁사 데이터를 주간으로 스크래핑하고 시계열 분석을 위해 DB에 저장합니다

경쟁사 가격 추출을 실행한 후 각 행을 오늘 날짜와 함께 competitor_pricing 테이블에 INSERT합니다.✓ 복사됨
firecrawl + filesystem

문서 사이트를 스크래핑하고 오프라인 RAG 인덱싱을 위해 마크다운으로 저장합니다

docs.stripe.com을 크롤링하고 각 페이지를 /knowledge/stripe/ 아래 .md 파일로 저장합니다.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
firecrawl_scrape url: str, formats?: ['markdown'|'html'|'links'|'screenshot'] 모델을 위해 단일 페이지의 콘텐츠를 마크다운으로 필요로 할 때 1 credit per page
firecrawl_crawl url, limit, includePaths?, excludePaths?, maxDepth? 사이트의 전체 섹션을 스크래핑해야 할 때 1 credit per page crawled
firecrawl_extract urls: str[], schema: JSONSchema, prompt? 원본 텍스트가 아닌 구조화된 JSON을 원할 때 5 credits per page (LLM-backed)
firecrawl_map url, search? 콘텐츠를 가져오지 않고 사이트의 모든 URL을 발견하세요 1 credit

비용 및 제한

운영 비용

API 쿼터
무료 계층: 500 크레딧, 10 동시. Hobby: $19/월 3000 크레딧.
호출당 토큰
스크래핑된 페이지당 평균 약 2000 토큰 (마크다운 본문)
금액
스크래핑당 1 크레딧, 구조화된 추출당 5 크레딧, 지도당 1 크레딧. 크레딧은 이월되지 않습니다.
먼저 firecrawl_map을 사용하여 계획한 다음, 실제로 필요한 URL만 firecrawl_scrape하세요. 공격적으로 캐시하세요 — 대부분의 페이지는 매일 변경되지 않습니다.

보안

권한, 시크릿, 파급범위

자격 증명 저장: FIRECRAWL_API_KEY 환경 변수의 API 키
데이터 외부 송신: 모든 요청은 Firecrawl의 서버(US/EU 지역)를 통해 진행됩니다. 대상 사이트로 프록시됩니다.

문제 해결

자주 발생하는 오류와 해결

402 결제 필요

크레딧이 부족합니다. firecrawl.dev/dashboard에서 충전하거나 월간 재설정을 기다리세요.

빈 마크다운 반환됨

페이지가 JS 전용일 수 있습니다. formats: ['markdown']이 설정되고 mobile: false인지 확인하세요. JS 실행을 허용하려면 actions: [{type:'wait', milliseconds: 3000}]을(를) 사용해 보세요.

예상보다 적은 페이지 반환

excludePaths가 너무 공격적이지 않은지 확인하세요. 또한 많은 사이트에는 크롤러를 차단하는 robots.txt가 있습니다. Firecrawl은 기본적으로 이를 준수합니다.

429 요청이 너무 많음 (대상 사이트)

크롤링 옵션에서 동시성을 줄이세요. 일부 사이트는 IP당 요청 예산을 적용합니다.

대안

Firecrawl 다른 것과 비교

대안언제 쓰나단점/장점
fetch MCP정적 HTML 페이지, JS 렌더링 불필요, 스키마 추출 불필요무료이고 빠르지만 SPA에서 중단되고 파싱할 원본 HTML을 제공합니다
Playwright MCP페이지와 상호작용해야 할 때(로그인, 클릭 흐름)더 많은 코드, 복잡한 상호작용에 더 좋음; 대량 추출에 최적화되지 않음
Brightdata MCP데이터센터 IP를 차단하는 사이트에 주거용 프록시가 필요할 때무겁고 비쌈 — 어려운 대상에만 가치 있음
Apify MCP특정 사이트(Amazon, LinkedIn 구조화된 데이터)를 위해 미리 만들어진 스크래퍼가 필요할 때미리 만들어진 액터가 있는 틈새 대상에 더 좋음; 더 많은 설정

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

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