개요
Firecrawl MCP(Model Context Protocol) 서버는 Firecrawl의 강력한 웹 크롤링, 스크래핑, 검색, 추출 기능을 다양한 개발 환경(로컬, 클라우드, VSCode, Cursor 등)에서 손쉽게 사용할 수 있도록 해주는 통합 서버 솔루션입니다. 본 글에서는 MCP 서버의 주요 특징, 설치 및 설정법, 실전 활용 예제, 그리고 고급 옵션과 공식 문서 링크까지 한 번에 정리합니다.
목차
- Firecrawl MCP 서버란?
- 주요 기능 및 특징
- 설치 및 실행 방법
- 환경설정 및 옵션
- 실전 활용 예제
- 주요 명령어/옵션 요약 (표)
- 참고 및 공식 문서
Firecrawl MCP 서버란?
MCP 서버는 Firecrawl의 웹 크롤링, 스크래핑, 검색, 추출, 배치 작업 등 다양한 기능을 API 및 명령어 기반으로 제공하는 서버입니다. 클라우드 API, 셀프호스팅, 로컬 실행 등 다양한 방식으로 운영할 수 있으며, 자동 재시도, 레이트 리밋, 배치 처리, SSE(서버센트이벤트) 등 엔터프라이즈급 기능을 지원합니다.
주요 기능 및 특징
- 웹 크롤링, 스크래핑, 검색, 추출, 배치 처리 지원
- 자동 재시도, 레이트 리밋, 크레딧 모니터링
- 클라우드/셀프호스팅/로컬/SSE 등 다양한 실행 환경
- Cursor, VSCode, Windsurf 등 주요 개발툴과 통합
- Batch Scrape, Deep Research, LLMs.txt 생성 등 고급 도구 내장
- 강력한 에러 핸들링 및 로깅 시스템
- MIT 오픈소스 라이선스
설치 및 실행 방법
1. npx로 간편 실행
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
2. 전역 설치 후 실행
npm install -g firecrawl-mcp
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY firecrawl-mcp
3. Cursor에서 MCP 서버 연동
- Cursor > Settings > Features > MCP Servers > "Add new global MCP server"
- 아래와 같이 입력:
{ "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR-API-KEY" } } } }
4. VSCode에서 연동
- User Settings(JSON) 또는 .vscode/mcp.json에 아래 추가:
{ "servers": { "firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "${input:apiKey}" } } } }
환경설정 및 주요 옵션
- FIRECRAWL_API_KEY: 필수, Firecrawl API 키
- FIRECRAWL_API_URL: (선택) 셀프호스팅 엔드포인트
- FIRECRAWL_RETRY_MAX_ATTEMPTS: 최대 재시도 횟수 (기본 3)
- FIRECRAWL_RETRY_INITIAL_DELAY: 최초 재시도 대기(ms)
- FIRECRAWL_CREDIT_WARNING_THRESHOLD: 크레딧 경고 임계값
- SSE_LOCAL: SSE 모드 실행 시 true
예시 (환경변수)
export FIRECRAWL_API_KEY=your-api-key
export FIRECRAWL_RETRY_MAX_ATTEMPTS=5
export FIRECRAWL_RETRY_INITIAL_DELAY=2000
실전 활용 예제
1. 단일 URL 스크래핑
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com",
"formats": ["markdown"],
"onlyMainContent": true
}
}
2. 배치 스크래핑 (여러 URL 동시 처리)
{
"name": "firecrawl_batch_scrape",
"arguments": {
"urls": ["https://example1.com", "https://example2.com"],
"options": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}
3. 비동기 크롤링
{
"name": "firecrawl_crawl",
"arguments": {
"url": "https://example.com",
"maxDepth": 2,
"limit": 100,
"allowExternalLinks": false
}
}
4. LLM 기반 정보 추출
{
"name": "firecrawl_extract",
"arguments": {
"urls": ["https://example.com/page1"],
"prompt": "Extract product information including name, price, and description",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
}
}
}
주요 명령어/옵션 요약 (표)
명령/옵션 | 설명 | 예시/값 |
---|---|---|
firecrawl_scrape | 단일 URL 스크래핑 | url, formats |
firecrawl_batch_scrape | 여러 URL 동시 스크래핑 | urls, options |
firecrawl_crawl | 비동기 크롤링 | url, maxDepth, limit |
firecrawl_extract | LLM 기반 정보 추출 | urls, prompt, schema |
firecrawl_search | 검색 및 결과 추출 | query, limit, scrapeOpts |
firecrawl_deep_research | 심층 웹 리서치 | query, maxDepth, time |
FIRECRAWL_API_KEY | 필수 환경변수 (API 키) | fc-xxxxxx |
FIRECRAWL_API_URL | 셀프호스팅 엔드포인트 | https://your-domain.com |
SSE_LOCAL | SSE 모드 실행 | true/false |
참고 및 공식 문서
본 포스트는 Firecrawl 공식 문서 및 블로그 등 다양한 공식 자료를 참고하여 작성되었습니다.
반응형