Use a API do Firecrawl por meio do Model Context Protocol
Uma implementação de servidor do Model Context Protocol (MCP) que integra o Firecrawl para busca, scraping e interagir com a web. Nosso servidor MCP é de código aberto e está disponível no GitHub.
Configurando o Cursor 🖥️
Observação: requer o Cursor na versão 0.45.6 ou superior.
Para obter as instruções de configuração mais atualizadas, consulte a documentação oficial do Cursor sobre como configurar servidores MCP:
Guia de configuração de servidor MCP do CursorPara configurar o Firecrawl MCP no Cursor v0.48.6
Se você estiver no Windows e tiver problemas, tente cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"
Substitua your-api-key pela sua chave de API do Firecrawl. Se você ainda não tiver uma, crie uma conta e obtenha-a em https://www.firecrawl.dev/app/api-keysApós adicionar, atualize a lista de servidores MCP para ver as novas ferramentas. O Composer Agent usará automaticamente o Firecrawl MCP quando apropriado, mas você pode solicitá-lo explicitamente descrevendo suas necessidades de dados da web. Acesse o Composer com Command+L (Mac), selecione “Agent” ao lado do botão de envio e insira sua consulta.
Para instalar com um clique, use um dos botões de instalação abaixo…Para instalação manual, adicione o seguinte bloco JSON ao arquivo User Settings (JSON) no VS Code. Você pode fazer isso pressionando Ctrl + Shift + P e digitando Preferences: Open User Settings (JSON).
Opcionalmente, você também pode adicioná-lo a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe essa configuração com outras pessoas:
Nota: Alguns usuários relataram problemas ao adicionar o servidor MCP ao VS Code devido à forma como ele valida JSON com um formato de schema desatualizado (microsoft/vscode#155379).
Isso afeta várias ferramentas MCP, incluindo Firecrawl.Solução alternativa: Desative a validação de JSON no VS Code para permitir que o servidor MCP seja carregado corretamente.
Consulte a referência: directus/directus#25906 (comment).O servidor MCP continua funcionando normalmente quando invocado por outras extensões, mas o problema ocorre especificamente ao registrá-lo diretamente na lista de servidores MCP. Planejamos adicionar orientações assim que o VS Code atualizar a validação de schema.
Se você receber um erro “Não foi possível se conectar ao servidor MCP”, sua versão do Claude Desktop pode não oferecer suporte a transporte HTTP com streaming. Use a abordagem local com npx em vez disso (requer Node.js):
Se você vir um erro spawn npx ENOENT, o Node.js não está instalado ou não está no PATH do sistema. Instale o Node.js em nodejs.org (versão LTS) e, em seguida, reinicie completamente o Claude Desktop. No Windows, você também pode executar where npx no Prompt de Comando e usar o caminho completo (por exemplo, C:\\Program Files\\nodejs\\npx.cmd) como valor de command.
Em Tools to include, você pode selecionar All, Selected ou All Except – isso expõe as ferramentas do Firecrawl (scrape, crawl, map, search, extract, etc.)
Para implantações autohospedadas, execute o servidor MCP com npx e habilite o modo de transporte HTTP:
Isso iniciará o servidor em http://localhost:3000/v2/mcp, que você pode usar no seu workflow do n8n como endpoint. A variável de ambiente HTTP_STREAMABLE_SERVER=true é obrigatória, já que o n8n precisa de transporte HTTP.
Para uso da API em nuvem com tentativas personalizadas e monitoramento de créditos:
# Necessário para a API em nuvemexport FIRECRAWL_API_KEY=your-api-key# Configuração opcional de tentativasexport FIRECRAWL_RETRY_MAX_ATTEMPTS=5 # Aumentar o número máximo de tentativasexport FIRECRAWL_RETRY_INITIAL_DELAY=2000 # Começar com atraso de 2sexport FIRECRAWL_RETRY_MAX_DELAY=30000 # Atraso máximo de 30sexport FIRECRAWL_RETRY_BACKOFF_FACTOR=3 # Backoff mais agressivo# Monitoramento opcional de créditosexport FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000 # Aviso a partir de 2000 créditosexport FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500 # Crítico a partir de 500 créditos
Para instâncias auto-hospedadas:
# Necessário para auto-hospedadoexport FIRECRAWL_API_URL=https://firecrawl.seu-dominio.com# Autenticação opcional para auto-hospedadoexport FIRECRAWL_API_KEY=sua-api-key # Se sua instância exigir autenticação# Configuração personalizada de novas tentativasexport FIRECRAWL_RETRY_MAX_ATTEMPTS=10export FIRECRAWL_RETRY_INITIAL_DELAY=500 # Comece com novas tentativas mais rápidas
O servidor inclui vários parâmetros configuráveis que podem ser definidos por meio de variáveis de ambiente. A seguir estão os valores padrão caso não sejam configurados:
const CONFIG = { retry: { maxAttempts: 3, // Number of retry attempts for rate-limited requests initialDelay: 1000, // Initial delay before first retry (in milliseconds) maxDelay: 10000, // Maximum delay between retries (in milliseconds) backoffFactor: 2, // Multiplier for exponential backoff }, credit: { warningThreshold: 1000, // Warn when credit usage reaches this level criticalThreshold: 100, // Alerta crítico quando o uso de créditos atingir este nível },};
Essas configurações controlam:
Comportamento de tentativas (retries)
Tenta novamente automaticamente as requisições que falharam devido a limites de taxa
Usa backoff exponencial para evitar sobrecarregar a API
Exemplo: com as configurações padrão, as novas tentativas serão feitas em:
1ª tentativa: atraso de 1 segundo
2ª tentativa: atraso de 2 segundos
3ª tentativa: atraso de 4 segundos (limitado por maxDelay)
Monitoramento do uso de créditos
Acompanha o consumo de créditos da API para uso em nuvem
Fornece avisos em limites definidos
Ajuda a evitar interrupções inesperadas do serviço
search: Termo de pesquisa opcional para filtrar URLs
sitemap: Controla o uso do sitemap — “include”, “skip” ou “only”
includeSubdomains: Se deve incluir subdomínios no mapeamento
limit: Número máximo de URLs a serem retornadas
ignoreQueryParameters: Se deve ignorar parâmetros de consulta ao mapear
Ideal para: Descobrir URLs em um site antes de decidir o que extrair; encontrar seções específicas de um site.
Retorna: Array de URLs encontradas no site.
Agente autônomo de pesquisa na web que navega independentemente pela internet, busca informações, percorre páginas e extrai dados estruturados com base na sua consulta. Esse agente é executado de forma assíncrona — ele retorna imediatamente um ID de job, e você faz polling em firecrawl_agent_status para verificar quando for concluído e recuperar os resultados.
{ "name": "firecrawl_agent", "arguments": { "prompt": "Find the top 5 AI startups founded in 2024 and their funding amounts", "schema": { "type": "object", "properties": { "startups": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "funding": { "type": "string" }, "founded": { "type": "string" } } } } } } }}
Você também pode fornecer URLs específicas nas quais o agente deve se concentrar:
{ "name": "firecrawl_agent", "arguments": { "urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"], "prompt": "Compare the features and pricing information from these pages" }}
prompt: Descrição em linguagem natural dos dados que você quer (obrigatório, máx. 10.000 caracteres)
urls: Array opcional de URLs para focar o agente em páginas específicas
schema: Esquema JSON opcional para saída estruturada
Melhor para: Tarefas de pesquisa complexas quando você não sabe as URLs exatas; coleta de dados de múltiplas fontes; encontrar informações espalhadas pela web; extrair dados de SPAs pesadas em JavaScript que falham com a raspagem comum.Retorna: ID do job para verificação de status. Use firecrawl_agent_status para consultar os resultados periodicamente.
8. Verificar status do agente (firecrawl_agent_status)
Verifique o status de uma tarefa do agente e recupere os resultados quando ela for concluída. Faça verificações (polling) a cada 15–30 segundos e mantenha por pelo menos 2–3 minutos antes de considerar a solicitação como falha.
ttl: Tempo de vida total da sessão em segundos (30-3600, opcional)
activityTtl: Tempo limite de inatividade em segundos (10-3600, opcional)
Melhor para: Executar código (Python/JS) que interage com uma página de navegador em tempo real, automação de navegador em várias etapas, sessões com perfis que persistem entre múltiplas chamadas de ferramenta.Retorna: ID da sessão, URL do CDP e URL de visualização em tempo real.
13. Interagir com página extraída (firecrawl_interact)
Interaja com uma página extraída anteriormente em uma sessão ativa no navegador. Primeiro, faça o scraping de uma página com firecrawl_scrape e, em seguida, use o scrapeId retornado (nos metadados da resposta de scraping) para clicar em botões, preencher formulários, extrair conteúdo dinâmico ou navegar mais profundamente. A resposta inclui um liveViewUrl e um interactiveLiveViewUrl que você pode abrir no navegador para acompanhar ou controlar a sessão em tempo real.
{ "name": "firecrawl_interact", "arguments": { "scrapeId": "scrape-id-from-previous-scrape", "prompt": "Click the Sign In button" }}
scrapeId: O ID do job de scraping de uma chamada anterior a firecrawl_scrape (obrigatório)
prompt: Instrução em linguagem natural que descreve a ação a ser executada (forneça prompt ou code)
code: Código a ser executado na sessão do navegador (forneça code ou prompt)
language: bash, python ou node (opcional, o padrão é node, usado apenas com code)
timeout: Tempo limite de execução em segundos, de 1 a 300 (opcional, o padrão é 30)
Ideal para: Fluxos de trabalho com várias etapas em uma única página — pesquisar em um site, clicar nos resultados, preencher formulários e extrair dados que exigem interação.Retorna: Resultado da interação, incluindo liveViewUrl e interactiveLiveViewUrl.
[INFO] Firecrawl MCP Server initialized successfully[INFO] Starting scrape for URL: https://example.com[INFO] Starting crawl for URL: https://example.com[WARNING] Credit usage has reached warning threshold[ERROR] Limite de requisições excedido, tentando novamente em 2s...