Firecrawl

Extraia, rastreie e extraia dados de qualquer site usando a API do Firecrawl.

Documentação

Firecrawl MCP Server

Um servidor Model Context Protocol (MCP) para web scraping, busca de conteúdo, rastreamento de sites e extração de dados usando a API Firecrawl.

Recursos

  • Web Scraping: Extraia conteúdo de qualquer página web com opções personalizáveis

    • Emulação de dispositivos móveis
    • Bloqueio de anúncios e popups
    • Filtragem de conteúdo
    • Extração de dados estruturados
    • Múltiplos formatos de saída
  • Busca de Conteúdo: Capacidades inteligentes de busca

    • Suporte a múltiplos idiomas
    • Resultados baseados em localização
    • Limites de resultados personalizáveis
    • Formatos de saída estruturados
  • Rastreamento de Sites: Funcionalidade avançada de rastreamento web

    • Controle de profundidade
    • Filtragem de caminhos
    • Limitação de taxa
    • Acompanhamento de progresso
    • Integração com sitemap
  • Mapeamento de Sites: Gere mapas de estrutura de sites

    • Suporte a subdomínios
    • Filtragem de busca
    • Análise de links
    • Hierarquia visual
  • Extração de Dados: Extraia dados estruturados de múltiplas URLs

    • Validação de esquema
    • Processamento em lote
    • Enriquecimento com busca web
    • Prompts de extração personalizados

Instalação

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

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

Início Rápido

  1. Obtenha sua chave de API Firecrawl no portal do desenvolvedor

  2. Defina sua chave de API:

    Unix/Linux/macOS (bash/zsh):

    export FIRECRAWL_API_KEY=your-api-key
    

    Windows (Prompt de Comando):

    set FIRECRAWL_API_KEY=your-api-key
    

    Windows (PowerShell):

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

    Alternativa: Usando arquivo .env (recomendado para desenvolvimento):

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

    Em seguida, no seu código:

    import dotenv from 'dotenv';
    dotenv.config();
    
  3. Execute o servidor:

    mcp-server-firecrawl
    

Integração

Claude Desktop App

Adicione às suas configurações MCP:

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

Claude VSCode Extension

Adicione à sua configuração MCP:

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

Exemplos de Uso

Web Scraping

// 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
  }
}

Rastreamento de Sites

// 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
  }
}

Mapeamento de Sites

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

Extração de Dados

// 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"
    }
  }
}

Configuração

Consulte o guia de configuração para opções detalhadas de configuração.

Documentação da API

Consulte a documentação da API para especificações detalhadas de endpoints.

Desenvolvimento

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Start in development mode
npm run dev

Exemplos

Consulte o diretório de exemplos para mais exemplos de uso:

Tratamento de Erros

O servidor implementa tratamento robusto de erros:

  • Limitação de taxa com backoff exponencial
  • Tentativas automáticas
  • Mensagens de erro detalhadas
  • Registro de depuração

Segurança

  • Proteção de chave de API
  • Validação de requisições
  • Lista de permissões de domínios
  • Limitação de taxa
  • Mensagens de erro seguras

Contribuição

Consulte CONTRIBUTING.md para diretrizes de contribuição.

Licença

Licença MIT - consulte LICENSE para detalhes.