Pular para o conteúdo principal
Integre o Firecrawl ao Agent Development Kit (ADK) do Google para criar agentes de IA avançados com recursos de web scraping por meio do Model Context Protocol (MCP).

Visão geral

O Firecrawl oferece um servidor MCP que se integra perfeitamente ao ADK do Google, permitindo que seus agentes façam scraping, crawling e extraiam dados estruturados de qualquer site com eficiência. A integração é compatível tanto com instâncias do Firecrawl em nuvem quanto auto-hospedadas, com HTTP transmissível (streaming) para desempenho ideal.

Funcionalidades

  • Raspagem, rastreamento e descoberta de conteúdo eficientes em qualquer site
  • Busca avançada e extração inteligente de conteúdo
  • Pesquisa aprofundada e raspagem em lote de alto volume
  • Implantação flexível (na nuvem ou auto-hospedada)
  • Otimizado para a web moderna com suporte a HTTP por streaming

Pré-requisitos

  • Obtenha uma chave de API do Firecrawl em firecrawl.dev
  • Instale o Google SDK

Configuração

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.mcp_toolset import MCPToolset

FIRECRAWL_API_KEY = "YOUR-API-KEY"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="firecrawl_agent",
    description='Um assistente útil para fazer scraping de sites com o Firecrawl',
    instruction='Ajude o usuário a buscar conteúdo de sites',
    tools=[
        MCPToolset(
            connection_params=StreamableHTTPServerParams(
                url=f"https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp",
            ),
        )
    ],
)

Ferramentas disponíveis

FerramentaNomeDescrição
Scrape Toolfirecrawl_scrapeExtrair conteúdo de uma única URL com opções avançadas
Batch Scrape Toolfirecrawl_batch_scrapeExtrair múltiplas URLs de forma eficiente com controle de taxa integrado e processamento paralelo
Check Batch Statusfirecrawl_check_batch_statusVerificar o status de uma operação em lote
Map Toolfirecrawl_mapMapear um site para descobrir todas as URLs indexadas
Search Toolfirecrawl_searchPesquisar na web e, opcionalmente, extrair conteúdo dos resultados de pesquisa
Crawl Toolfirecrawl_crawlIniciar um rastreamento assíncrono com opções avançadas
Check Crawl Statusfirecrawl_check_crawl_statusVerificar o status de um trabalho de rastreamento
Extract Toolfirecrawl_extractExtrair informações estruturadas de páginas da web usando recursos de LLM

Configuração

Configuração obrigatória

FIRECRAWL_API_KEY: Sua chave de API do Firecrawl
  • Obrigatório ao usar a API em nuvem (padrão)
  • Opcional ao usar uma instância auto-hospedada com FIRECRAWL_API_URL

Configuração opcional

URL da API do Firecrawl (para instâncias self-hosted):
  • FIRECRAWL_API_URL: Endpoint de API personalizado
  • Exemplo: https://firecrawl.your-domain.com
  • Se não for informada, a API em nuvem será utilizada
Configuração de tentativas (retry):
  • FIRECRAWL_RETRY_MAX_ATTEMPTS: Número máximo de tentativas (padrão: 3)
  • FIRECRAWL_RETRY_INITIAL_DELAY: Atraso inicial em milissegundos (padrão: 1000)
  • FIRECRAWL_RETRY_MAX_DELAY: Atraso máximo em milissegundos (padrão: 10000)
  • FIRECRAWL_RETRY_BACKOFF_FACTOR: Multiplicador de backoff exponencial (padrão: 2)
Monitoramento do uso de créditos:
  • FIRECRAWL_CREDIT_WARNING_THRESHOLD: Limite de aviso (padrão: 1000)
  • FIRECRAWL_CREDIT_CRITICAL_THRESHOLD: Limite crítico (padrão: 100)

Exemplo: Agente de pesquisa na web

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.mcp_toolset import MCPToolset

FIRECRAWL_API_KEY = "YOUR-API-KEY"

# Criar um agente de pesquisa
research_agent = Agent(
    model="gemini-2.5-pro",
    name="research_agent",
    description='Um agente de IA que pesquisa tópicos através de scraping e análise de conteúdo web',
    instruction='''Você é um assistente de pesquisa. Quando receber um tópico ou pergunta:
    1. Use a ferramenta de busca para encontrar sites relevantes
    2. Faça scraping das páginas mais relevantes para obter informações detalhadas
    3. Extraia dados estruturados quando necessário
    4. Forneça respostas abrangentes e bem fundamentadas''',
    tools=[
        MCPToolset(
            connection_params=StreamableHTTPServerParams(
                url=f"https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp",
            ),
        )
    ],
)

# Usar o agente
response = research_agent.run("Quais são os recursos mais recentes do Python 3.13?")
print(response)

Melhores práticas

  1. Use a ferramenta certa para a tarefa:
    • firecrawl_search quando você precisa primeiro encontrar páginas relevantes
    • firecrawl_scrape para páginas individuais
    • firecrawl_batch_scrape para várias URLs conhecidas
    • firecrawl_crawl para descobrir e extrair sites inteiros
  2. Monitore seu consumo: Configure limites de crédito para evitar uso inesperado
  3. Trate erros com elegância: Configure políticas de nova tentativa de acordo com seu caso de uso
  4. Otimize o desempenho: Use operações em lote ao extrair várias URLs