Firecrawl¶
Firecrawl MCP 서버는 ADK 에이전트를 Firecrawl API에 연결합니다. 이 서비스는 모든 웹사이트를 크롤링하고 해당 콘텐츠를 깨끗하고 구조화된 마크다운으로 변환할 수 있습니다. 이를 통해 에이전트는 모든 하위 페이지를 포함하여 모든 URL의 웹 데이터를 수집, 검색 및 추론할 수 있습니다.
기능¶
-
에이전트 기반 웹 리서치: 주제를 정하고, 검색 도구를 사용하여 관련 URL을 찾은 다음, 스크랩 도구를 사용하여 분석 또는 요약을 위해 각 페이지의 전체 콘텐츠를 추출할 수 있는 에이전트를 배포합니다.
-
구조화된 데이터 추출: 추출 도구를 사용하여 LLM 추출을 기반으로 URL 목록에서 제품 이름, 가격 또는 연락처 정보와 같은 특정 구조화된 정보를 가져옵니다.
-
대규모 콘텐츠 수집: 일괄 스크랩 및 크롤링 도구를 사용하여 전체 웹사이트 또는 대량의 URL을 자동으로 스크랩합니다. 이는 RAG(검색 증강 생성) 파이프라인을 위한 벡터 데이터베이스를 채우는 데 이상적입니다.
전제 조건¶
ADK와 함께 사용¶
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from google.adk.tools.mcp_tool import McpToolset
from mcp import StdioServerParameters
FIRECRAWL_API_KEY = "YOUR_FIRECRAWL_API_KEY"
root_agent = Agent(
model="gemini-2.5-pro",
name="firecrawl_agent",
description="Firecrawl로 웹사이트를 스크랩하는 데 도움이 되는 도우미",
instruction="사용자가 웹사이트 콘텐츠를 검색하도록 돕습니다.",
tools=[
McpToolset(
connection_params=StdioConnectionParams(
server_params = StdioServerParameters(
command="npx",
args=[
"-y",
"firecrawl-mcp",
],
env={
"FIRECRAWL_API_KEY": FIRECRAWL_API_KEY,
}
),
timeout=30,
),
)
],
)
from google.adk.agents.llm_agent import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams
from google.adk.tools.mcp_tool import McpToolset
FIRECRAWL_API_KEY = "YOUR_FIRECRAWL_API_KEY"
root_agent = Agent(
model="gemini-2.5-pro",
name="firecrawl_agent",
description="Firecrawl로 웹사이트를 스크랩하는 데 도움이 되는 도우미",
instruction="사용자가 웹사이트 콘텐츠를 검색하도록 돕습니다.",
tools=[
McpToolset(
connection_params=StreamableHTTPServerParams(
url=f"https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp",
),
)
],
)
사용 가능한 도구¶
이 도구 세트는 웹 크롤링, 스크래핑 및 검색을 위한 포괄적인 기능 모음을 제공합니다.
| 도구 | 이름 | 설명 |
|---|---|---|
| 스크랩 도구 | firecrawl_scrape |
고급 옵션으로 단일 URL에서 콘텐츠 스크랩 |
| 일괄 스크랩 도구 | firecrawl_batch_scrape |
내장된 속도 제한 및 병렬 처리로 여러 URL을 효율적으로 스크랩 |
| 일괄 상태 확인 | firecrawl_check_batch_status |
일괄 작업 상태 확인 |
| 지도 도구 | firecrawl_map |
웹사이트를 매핑하여 사이트의 모든 인덱싱된 URL 검색 |
| 검색 도구 | firecrawl_search |
웹을 검색하고 선택적으로 검색 결과에서 콘텐츠 추출 |
| 크롤링 도구 | firecrawl_crawl |
고급 옵션으로 비동기 크롤링 시작 |
| 크롤링 상태 확인 | firecrawl_check_crawl_status |
크롤링 작업 상태 확인 |
| 추출 도구 | firecrawl_extract |
LLM 기능을 사용하여 웹 페이지에서 구조화된 정보 추출. 클라우드 AI 및 자체 호스팅 LLM 추출 모두 지원 |
구성¶
Firecrawl MCP 서버는 환경 변수를 사용하여 구성할 수 있습니다.
필수:
FIRECRAWL_API_KEY: Firecrawl API 키- 클라우드 API 사용 시 필요(기본값)
FIRECRAWL_API_URL과 함께 자체 호스팅 인스턴스 사용 시 선택 사항
Firecrawl API URL(선택 사항):
FIRECRAWL_API_URL(선택 사항): 자체 호스팅 인스턴스용 사용자 지정 API 엔드포인트- 예:
https://firecrawl.your-domain.com - 제공되지 않으면 클라우드 API가 사용됩니다(API 키 필요).
- 예:
재시도 구성(선택 사항):
FIRECRAWL_RETRY_MAX_ATTEMPTS: 최대 재시도 횟수(기본값: 3)FIRECRAWL_RETRY_INITIAL_DELAY: 첫 번째 재시도 전 초기 지연 시간(밀리초)(기본값: 1000)FIRECRAWL_RETRY_MAX_DELAY: 재시도 간 최대 지연 시간(밀리초)(기본값: 10000)FIRECRAWL_RETRY_BACKOFF_FACTOR: 지수 백오프 승수(기본값: 2)
크레딧 사용량 모니터링(선택 사항):
FIRECRAWL_CREDIT_WARNING_THRESHOLD: 크레딧 사용량 경고 임계값(기본값: 1000)FIRECRAWL_CREDIT_CRITICAL_THRESHOLD: 크레딧 사용량 위험 임계값(기본값: 100)