Saltar al contenido principal
Integra Firecrawl con el Kit de desarrollo de agentes (ADK) de Google para crear agentes de IA potentes con capacidades de web scraping mediante el Model Context Protocol (MCP).

Descripción general

Firecrawl ofrece un servidor MCP que se integra sin fricciones con el ADK de Google, permitiendo que tus agentes realicen scraping, crawling y extracción de datos estructurados de cualquier sitio web de manera eficiente. La integración es compatible tanto con instancias de Firecrawl en la nube como autogestionadas, con HTTP en streaming para un rendimiento óptimo.

Funcionalidades

  • Raspado web, rastreo y descubrimiento de contenido eficientes en cualquier sitio
  • Búsqueda avanzada y extracción inteligente de contenido
  • Investigación profunda y scraping por lotes a gran escala
  • Despliegue flexible (en la nube o autogestionado)
  • Optimizado para entornos web modernos con soporte HTTP por streaming

Requisitos previos

  • Obtén una clave de API para Firecrawl en firecrawl.dev
  • Instala el Google SDK

Configuración

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='Un asistente útil para extraer contenido de sitios web con Firecrawl',
    instruction='Ayuda al usuario a buscar contenido en sitios web',
    tools=[
        MCPToolset(
            connection_params=StreamableHTTPServerParams(
                url=f"https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp",
            ),
        )
    ],
)

Herramientas disponibles

HerramientaNombreDescripción
Herramienta de scrapingfirecrawl_scrapeExtrae contenido de una única URL con opciones avanzadas
Herramienta de scraping por lotesfirecrawl_batch_scrapeExtrae múltiples URL de forma eficiente con limitación de tasa integrada y procesamiento en paralelo
Consultar estado del lotefirecrawl_check_batch_statusConsulta el estado de una operación por lotes
Herramienta de mapeofirecrawl_mapGenera el mapa de un sitio para descubrir todas las URL indexadas
Herramienta de búsquedafirecrawl_searchBusca en la web y, opcionalmente, extrae contenido de los resultados
Herramienta de rastreofirecrawl_crawlInicia un rastreo asíncrono con opciones avanzadas
Consultar estado del rastreofirecrawl_check_crawl_statusConsulta el estado de un trabajo de rastreo
Herramienta de extracciónfirecrawl_extractExtrae información estructurada de páginas web usando capacidades de LLM

Configuración

Configuración requerida

FIRECRAWL_API_KEY: Tu clave de API de Firecrawl
  • Obligatorio al usar la API en la nube (por defecto)
  • Opcional al usar una instancia autogestionada con FIRECRAWL_API_URL

Configuración opcional

URL de la API de Firecrawl (para instancias autohospedadas):
  • FIRECRAWL_API_URL: Endpoint de API personalizado
  • Ejemplo: https://firecrawl.your-domain.com
  • Si no se especifica, se usará la API en la nube
Configuración de reintentos:
  • FIRECRAWL_RETRY_MAX_ATTEMPTS: Número máximo de reintentos (predeterminado: 3)
  • FIRECRAWL_RETRY_INITIAL_DELAY: Espera inicial en milisegundos (predeterminado: 1000)
  • FIRECRAWL_RETRY_MAX_DELAY: Espera máxima en milisegundos (predeterminado: 10000)
  • FIRECRAWL_RETRY_BACKOFF_FACTOR: Multiplicador de backoff exponencial (predeterminado: 2)
Monitoreo del uso de créditos:
  • FIRECRAWL_CREDIT_WARNING_THRESHOLD: Umbral de advertencia (predeterminado: 1000)
  • FIRECRAWL_CREDIT_CRITICAL_THRESHOLD: Umbral crítico (predeterminado: 100)

Ejemplo: agente de investigación 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"

# Crear un agente de investigación
research_agent = Agent(
    model="gemini-2.5-pro",
    name="research_agent",
    description='Un agente de IA que investiga temas mediante scraping y análisis de contenido web',
    instruction='''Eres un asistente de investigación. Cuando recibas un tema o pregunta:
    1. Usa la herramienta de búsqueda para encontrar sitios web relevantes
    2. Haz scraping de las páginas más relevantes para obtener información detallada
    3. Extrae datos estructurados cuando sea necesario
    4. Proporciona respuestas completas y bien fundamentadas''',
    tools=[
        MCPToolset(
            connection_params=StreamableHTTPServerParams(
                url=f"https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp",
            ),
        )
    ],
)

# Usar el agente
response = research_agent.run("¿Cuáles son las últimas características de Python 3.13?")
print(response)

Mejores prácticas

  1. Usa la herramienta adecuada para la tarea:
    • firecrawl_search cuando primero necesites encontrar páginas relevantes
    • firecrawl_scrape para páginas individuales
    • firecrawl_batch_scrape para varias URL conocidas
    • firecrawl_crawl para descubrir y extraer sitios completos
  2. Supervisa tu uso: Configura umbrales de créditos para evitar consumos inesperados
  3. Gestiona los errores de forma elegante: Configura la política de reintentos según tu caso de uso
  4. Optimiza el rendimiento: Usa operaciones por lotes al extraer múltiples URL