Firecrawl

Extrae, rastrea y extrae datos de cualquier sitio web usando la API de Firecrawl.

Documentación

Servidor MCP de Firecrawl

Un servidor de Protocolo de Contexto de Modelo (MCP) para extracción web, búsqueda de contenido, rastreo de sitios y extracción de datos utilizando la API de Firecrawl.

Características

  • Extracción web: Extrae contenido de cualquier página web con opciones personalizables

    • Emulación de dispositivos móviles
    • Bloqueo de anuncios y ventanas emergentes
    • Filtrado de contenido
    • Extracción de datos estructurados
    • Múltiples formatos de salida
  • Búsqueda de contenido: Capacidades de búsqueda inteligente

    • Soporte multilingüe
    • Resultados basados en ubicación
    • Límites de resultados personalizables
    • Formatos de salida estructurados
  • Rastreo de sitios: Funcionalidad avanzada de rastreo web

    • Control de profundidad
    • Filtrado de rutas
    • Limitación de velocidad
    • Seguimiento de progreso
    • Integración de mapas del sitio
  • Mapeo de sitios: Genera mapas de estructura del sitio

    • Soporte de subdominios
    • Filtrado de búsqueda
    • Análisis de enlaces
    • Jerarquía visual
  • Extracción de datos: Extrae datos estructurados de múltiples URLs

    • Validación de esquema
    • Procesamiento por lotes
    • Enriquecimiento con búsqueda web
    • Indicaciones de extracción personalizadas

Instalación

# Global installation
npm install -g @modelcontextprotocol/mcp-server-firecrawl

# Local project installation
npm install @modelcontextprotocol/mcp-server-firecrawl

Inicio rápido

  1. Obtén tu clave de API de Firecrawl desde el portal de desarrolladores

  2. Configura tu clave de API:

    Unix/Linux/macOS (bash/zsh):

    export FIRECRAWL_API_KEY=your-api-key
    

    Windows (Símbolo del sistema):

    set FIRECRAWL_API_KEY=your-api-key
    

    Windows (PowerShell):

    $env:FIRECRAWL_API_KEY = "your-api-key"
    

    Alternativa: Usar archivo .env (recomendado para desarrollo):

    # Install dotenv
    npm install dotenv
    
    # Create .env file
    echo "FIRECRAWL_API_KEY=your-api-key" > .env
    

    Luego en tu código:

    import dotenv from 'dotenv';
    dotenv.config();
    
  3. Ejecuta el servidor:

    mcp-server-firecrawl
    

Integración

Aplicación de escritorio de Claude

Añade a tu configuración de MCP:

{
  "firecrawl": {
    "command": "mcp-server-firecrawl",
    "env": {
      "FIRECRAWL_API_KEY": "your-api-key"
    }
  }
}

Extensión de Claude para VSCode

Añade a tu configuración de MCP:

{
  "mcpServers": {
    "firecrawl": {
      "command": "mcp-server-firecrawl",
      "env": {
        "FIRECRAWL_API_KEY": "your-api-key"
      }
    }
  }
}

Ejemplos de uso

Extracción web

// Basic scraping
{
  name: "scrape_url",
  arguments: {
    url: "https://example.com",
    formats: ["markdown"],
    onlyMainContent: true
  }
}

// Advanced extraction
{
  name: "scrape_url",
  arguments: {
    url: "https://example.com/blog",
    jsonOptions: {
      prompt: "Extract article content",
      schema: {
        title: "string",
        content: "string"
      }
    },
    mobile: true,
    blockAds: true
  }
}

Rastreo de sitios

// Basic crawling
{
  name: "crawl",
  arguments: {
    url: "https://example.com",
    maxDepth: 2,
    limit: 100
  }
}

// Advanced crawling
{
  name: "crawl",
  arguments: {
    url: "https://example.com",
    maxDepth: 3,
    includePaths: ["/blog", "/products"],
    excludePaths: ["/admin"],
    ignoreQueryParameters: true
  }
}

Mapeo de sitios

// Generate site map
{
  name: "map",
  arguments: {
    url: "https://example.com",
    includeSubdomains: true,
    limit: 1000
  }
}

Extracción de datos

// Extract structured data
{
  name: "extract",
  arguments: {
    urls: ["https://example.com/product1", "https://example.com/product2"],
    prompt: "Extract product details",
    schema: {
      name: "string",
      price: "number",
      description: "string"
    }
  }
}

Configuración

Consulta la guía de configuración para opciones de configuración detalladas.

Documentación de la API

Consulta la documentación de la API para especificaciones detalladas de los endpoints.

Desarrollo

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Start in development mode
npm run dev

Ejemplos

Consulta el directorio de ejemplos para más ejemplos de uso:

Manejo de errores

El servidor implementa un manejo de errores robusto:

  • Limitación de velocidad con retroceso exponencial
  • Reintentos automáticos
  • Mensajes de error detallados
  • Registro de depuración

Seguridad

  • Protección de clave de API
  • Validación de solicitudes
  • Lista blanca de dominios
  • Limitación de velocidad
  • Mensajes de error seguros

Contribuciones

Consulta CONTRIBUTING.md para las pautas de contribución.

Licencia

Licencia MIT - consulta LICENSE para más detalles.