Skip to content
Firecrawl Docs
Firecrawl Docs
MCP

Outils et opérations de Firecrawl MCP

Outils disponibles, comportement opérationnel et gestion des erreurs pour Firecrawl MCP.

Les outils répertoriés ici couvrent l’ensemble des fonctionnalités du serveur Firecrawl MCP. Leur disponibilité dépend de votre mode de connexion.

Mode de connexionDisponibilité des outils
OAuth de compte hébergéEnsemble complet d’outils, sous réserve de l’offre et de la disponibilité des fonctionnalités
Clé API hébergéeEnsemble complet d’outils, sous réserve de l’offre et de la disponibilité des fonctionnalités
Mode sans clé hébergéfirecrawl_search, firecrawl_scrape et firecrawl_parse uniquement
MCP local avec une clé API cloudOutils s’appuyant sur l’API ; l’utilisation directe de Parse sur des fichiers locaux nécessite une URL d’API auto-hébergée
MCP local avec une API auto-hébergéeOutils pris en charge par les services activés dans ce déploiement

Certains outils facultatifs peuvent être désactivés par l’environnement ou par la politique de l’équipe. Commencez par Connecter Firecrawl MCP pour choisir un mode d’authentification, puis consultez les limites de débit pour connaître l’allocation actuelle du mode sans clé.

Récupérez le contenu d’une URL unique avec des options avancées.

{
  "name": "firecrawl_scrape",
  "arguments": {
    "url": "https://example.com",
    "formats": ["markdown"],
    "onlyMainContent": true,
    "waitFor": 1000,
    "mobile": false,
    "includeTags": ["article", "main"],
    "excludeTags": ["nav", "footer"],
    "skipTlsVerification": false
  }
}

Pour masquer les informations permettant d’identifier une personne, incluez redactPII dans les arguments de l’outil de scrape.

{
  "name": "firecrawl_scrape",
  "arguments": {
    "url": "https://example.com/contact",
    "formats": ["markdown"],
    "redactPII": true
  }
}

Cartographiez un site web pour découvrir toutes les URL indexées qu’il contient.

{
  "name": "firecrawl_map",
  "arguments": {
    "url": "https://example.com",
    "search": "blog",
    "sitemap": "include",
    "includeSubdomains": false,
    "limit": 100,
    "ignoreQueryParameters": true
  }
}
  • url : URL de base du site web à cartographier
  • search : Terme de recherche facultatif pour filtrer les URL
  • sitemap : Contrôle l’utilisation du sitemap : « include », « skip » ou « only »
  • includeSubdomains : Indique s’il faut inclure les sous-domaines dans la cartographie
  • limit : Nombre maximal d’URL à renvoyer
  • ignoreQueryParameters : Indique s’il faut ignorer les paramètres de requête lors de la cartographie

Idéal pour : Découvrir les URL d’un site web avant de choisir celles à scraper ; trouver des sections spécifiques d’un site web. Renvoie : Tableau des URL trouvées sur le site.

Effectuez une recherche sur le web et extrayez éventuellement le contenu des résultats.

{
  "name": "firecrawl_search",
  "arguments": {
    "query": "your search query",
    "limit": 5,
    "location": "United States",
    "tbs": "qdr:m",
    "scrapeOptions": {
      "formats": ["markdown"],
      "onlyMainContent": true
    }
  }
}
  • query : Chaîne de requête de recherche (obligatoire)
  • limit : Nombre maximal de résultats à renvoyer
  • location : Emplacement géographique des résultats de recherche
  • tbs : Filtre de recherche temporel (par exemple, qdr:d pour le dernier jour, qdr:w pour la dernière semaine, qdr:m pour le dernier mois)
  • filter : Filtre de recherche supplémentaire
  • sources : Tableau des types de sources dans lesquels effectuer la recherche (web, images, news)
  • scrapeOptions : Options de scraping des pages de résultats de recherche
  • enterprise : Tableau d’options d’entreprise (default, anon, zdr)

Envoyez des commentaires structurés après avoir utilisé firecrawl_search. Le premier envoi de commentaires pour un ID de recherche peut donner lieu au remboursement d’un crédit, dans la limite du plafond quotidien de l’équipe.

{
  "name": "firecrawl_search_feedback",
  "arguments": {
    "searchId": "search-id-from-firecrawl-search",
    "rating": "good",
    "valuableSources": [
      {
        "url": "https://docs.firecrawl.dev/mcp-server",
        "reason": "Contains the current connection guidance."
      }
    ]
  }
}

Définissez FIRECRAWL_NO_SEARCH_FEEDBACK=1 pour empêcher l’enregistrement de cet outil facultatif.

Envoyez un retour concis pour chaque point de terminaison concernant les tâches scraping, parsing, cartographie ou recherche terminées. N’incluez pas le contenu brut scrapé ou analysé.

{
  "name": "firecrawl_feedback",
  "arguments": {
    "endpoint": "scrape",
    "jobId": "job-id",
    "rating": "partial",
    "issues": ["missing_markdown"],
    "url": "https://example.com"
  }
}

Utilisez firecrawl_search_feedback pour recueillir des commentaires sur la qualité des résultats de recherche. Définissez FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 pour empêcher l’enregistrement de l’outil de retour générique.

Convertissez un fichier local, tel qu’un document PDF, DOCX, XLSX ou HTML, en données propres et exploitables par les LLM.

{
  "name": "firecrawl_parse",
  "arguments": {
    "filePath": "/absolute/path/to/report.pdf",
    "formats": ["markdown"]
  }
}

Lorsque vous exécutez Firecrawl MCP localement sur une instance de l’API Firecrawl avec FIRECRAWL_API_URL, le serveur MCP peut lire directement filePath et envoie les octets du fichier à /v2/parse.

Lorsque vous utilisez le serveur MCP hébergé à distance, il ne peut pas lire les fichiers présents sur votre machine. Dans ce cas, firecrawl_parse utilise un transfert en deux étapes qui fonctionne également avec l’URL distante sans clé :

  1. Appelez firecrawl_parse avec filePath. L’outil renvoie une commande de téléversement préremplie et un nextToolCall contenant une uploadRef.
  2. Exécutez la commande de téléversement sur la machine qui peut lire le fichier, puis appelez de nouveau firecrawl_parse avec l’uploadRef renvoyée.

La commande de téléversement envoie les octets du fichier vers une cible de téléversement signée à durée de vie limitée. Elle n’inclut pas votre clé API Firecrawl.

  • filePath : Chemin local du fichier à analyser. À utiliser lors du premier appel.
  • uploadRef : Référence renvoyée par le premier appel MCP hébergé. À utiliser lors du deuxième appel, une fois le téléversement terminé.
  • formats : Formats de sortie. La valeur par défaut est markdown.
  • parsers : Paramètres du parseur, tels que les options de parsing des PDF.
  • contentType : Remplacement facultatif du type MIME du fichier.
  • declaredSizeBytes : Indication facultative de la taille du fichier. La taille des fichiers est limitée à 50 Mo.

Idéal pour : Les documents locaux ou non publics qui ne sont pas accessibles via une URL publique.

Non recommandé pour : Les URL de documents publics. Utilisez plutôt firecrawl_scrape : il détecte et analyse les documents à partir de leurs URL.

Démarrez un crawl asynchrone avec des options avancées.

{
  "name": "firecrawl_crawl",
  "arguments": {
    "url": "https://example.com",
    "maxDiscoveryDepth": 2,
    "limit": 100,
    "allowExternalLinks": false,
    "deduplicateSimilarURLs": true
  }
}

Vérifiez l’état d’un crawl.

{
  "name": "firecrawl_check_crawl_status",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000"
  }
}

Renvoie : L’état d’avancement du crawl, ainsi que les résultats s’ils sont disponibles.

Extrait des informations structurées à partir de pages web à l’aide de LLM. Prend en charge l’extraction par IA dans le cloud et par des LLM auto-hébergés.

{
  "name": "firecrawl_extract",
  "arguments": {
    "urls": ["https://example.com/page1", "https://example.com/page2"],
    "prompt": "Extract product information including name, price, and description",
    "schema": {
      "type": "object",
      "properties": {
        "name": { "type": "string" },
        "price": { "type": "number" },
        "description": { "type": "string" }
      },
      "required": ["name", "price"]
    },
    "allowExternalLinks": false,
    "enableWebSearch": false,
    "includeSubdomains": false
  }
}

Exemple de réponse :

{
  "content": [
    {
      "type": "text",
      "text": {
        "name": "Example Product",
        "price": 99.99,
        "description": "This is an example product description"
      }
    }
  ],
  "isError": false
}
  • urls : tableau d’URL à partir desquelles extraire des informations
  • prompt : prompt personnalisé pour l’extraction par le LLM
  • schema : schéma JSON pour l’extraction de données structurées
  • allowExternalLinks : autoriser l’extraction depuis des liens externes
  • enableWebSearch : activer la recherche web pour obtenir du contexte supplémentaire
  • includeSubdomains : inclure les sous-domaines dans l’extraction

Avec une instance auto-hébergée, l’extraction utilise le LLM que vous avez configuré. Avec l’API cloud, elle utilise le service LLM géré par Firecrawl.

Agent de recherche web autonome qui parcourt Internet de manière indépendante, recherche des informations, navigue entre les pages et extrait des données structurées selon votre requête. Il s’exécute de manière asynchrone -- il renvoie immédiatement un ID de tâche, puis vous interrogez firecrawl_agent_status pour vérifier qu’il est terminé et récupérer les résultats.

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

Vous pouvez également fournir des URL spécifiques sur lesquelles l’agent devra se concentrer :

{
  "name": "firecrawl_agent",
  "arguments": {
    "urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
    "prompt": "Compare the features and pricing information from these pages"
  }
}
  • prompt : Description en langage naturel des données souhaitées (obligatoire, 10 000 caractères maximum)
  • urls : Tableau facultatif d’URL permettant de cibler l’agent sur des pages spécifiques
  • schema : Schéma JSON facultatif pour une sortie structurée

Idéal pour : Les tâches de recherche complexes lorsque vous ne connaissez pas les URL exactes ; la collecte de données provenant de plusieurs sources ; la recherche d’informations dispersées sur le web ; l’extraction de données depuis des SPA fortement basées sur JavaScript qui échouent avec un scrape classique.

Renvoie : Un ID de tâche permettant de vérifier l’état. Utilisez firecrawl_agent_status pour interroger les résultats.

Vérifiez l’état d’une tâche d’agent et récupérez les résultats une fois celle-ci terminée. Interrogez toutes les 15 à 30 secondes pendant au moins 2 à 3 minutes avant de considérer la requête comme ayant échoué.

{
  "name": "firecrawl_agent_status",
  "arguments": {
    "id": "550e8400-e29b-41d4-a716-446655440000"
  }
}
  • id : l’ID de tâche d’agent renvoyé par firecrawl_agent (obligatoire)

États possibles :

  • processing : l’agent effectue encore ses recherches -- continuez à l’interroger
  • completed : la recherche est terminée -- la réponse contient les données extraites
  • failed : une erreur s’est produite

Renvoie : l’état, la progression et les résultats (si terminée) de la tâche d’agent.

Interagissez avec une page dans une session de navigateur en direct : cliquez sur des boutons, remplissez des formulaires, extrayez du contenu dynamique ou naviguez plus loin.

Utilisez l’un des deux modes de ciblage :

  • Transmettez url pour ouvrir une nouvelle page et interagir avec elle en un seul appel MCP.
  • Transmettez le scrapeId d’un appel firecrawl_scrape précédent pour réutiliser la page déjà chargée.

Ne transmettez pas simultanément url et scrapeId. Fournissez soit prompt, soit code. scrapeOptions ne peut être utilisé qu’en mode url.

Exemple en mode URL :

{
  "name": "firecrawl_interact",
  "arguments": {
    "url": "https://example.com/products",
    "prompt": "Click on the first product and tell me its price"
  }
}

Exemple de réutilisation d’un scrape :

{
  "name": "firecrawl_interact",
  "arguments": {
    "scrapeId": "scrape-id-from-previous-scrape",
    "prompt": "Click the Sign In button"
  }
}
  • url : Page avec laquelle interagir ; ouvre une session pour vous. Utilisez ce paramètre ou scrapeId.
  • scrapeId : ID de tâche de scraping issu d’un appel firecrawl_scrape précédent. Utilisez ce paramètre ou url.
  • prompt : Instruction en langage naturel décrivant l’action à effectuer. Fournissez prompt ou code.
  • code : Code à exécuter dans la session de navigateur. Fournissez code ou prompt.
  • language : bash, python ou node (facultatif, node par défaut, utilisé uniquement avec code).
  • timeout : Délai d’exécution en secondes, de 1 à 300 (facultatif, 30 par défaut).
  • scrapeOptions : Options de scraping facultatives utilisées uniquement en mode url.

Idéal pour : Les workflows en plusieurs étapes sur une seule page — rechercher sur un site, parcourir les résultats, remplir des formulaires, extraire des données nécessitant une interaction.

Renvoie : Le résultat de l’interaction, y compris les URL de sortie et de la vue en direct.

Arrêtez une session Interact associée à une page scrapée. Appelez cette fonction une fois vos interactions terminées afin de libérer des ressources.

{
  "name": "firecrawl_interact_stop",
  "arguments": {
    "scrapeId": "scrape-id-from-previous-scrape"
  }
}
  • scrapeId : l’ID de scrape de la session à arrêter (obligatoire)

Renvoie : la confirmation de l’arrêt de la session.

Utilisez les outils de recherche en lecture seule pour effectuer une revue de la littérature, consulter des articles, découvrir des citations et rechercher des dépôts GitHub publics.

OutilObjectif
firecrawl_research_search_papersRechercher des articles scientifiques
firecrawl_research_inspect_paperConsulter les métadonnées et les détails d’un article
firecrawl_research_related_papersTrouver des articles liés à un article de référence
firecrawl_research_read_paperLire le contenu disponible d’un article
firecrawl_research_search_githubRechercher des dépôts GitHub publics

Ces outils ne sont pas disponibles dans l’offre hébergée sans clé.

Créez et gérez des moniteurs de page récurrents. Les moniteurs exécutent des vérifications planifiées, comparent les résultats aux instantanés conservés et peuvent envoyer des notifications via des webhooks ou par e-mail.

{
  "name": "firecrawl_monitor_create",
  "arguments": {
    "page": "https://example.com/pricing",
    "goal": "Alert when pricing, packaging, or launch messaging changes."
  }
}
OutilObjectif
firecrawl_monitor_createCréer un moniteur de page ou de crawl
firecrawl_monitor_listLister les moniteurs
firecrawl_monitor_getObtenir un moniteur
firecrawl_monitor_updateMettre à jour un moniteur
firecrawl_monitor_runDéclencher une vérification
firecrawl_monitor_deleteSupprimer un moniteur
firecrawl_monitor_checksLister les vérifications d’un moniteur
firecrawl_monitor_checkObtenir une vérification de page et son diff

firecrawl_monitor_delete supprime définitivement un moniteur. Un client MCP ne doit l’appeler que si l’utilisateur a explicitement l’intention de supprimer ce moniteur.

Le serveur fournit une journalisation complète :

  • État et progression des opérations
  • Indicateurs de performance
  • Surveillance de l’utilisation des crédits
  • Suivi des limites de débit
  • Conditions d’erreur

Exemples de messages de journal :

[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] Rate limit exceeded, retrying in 2s...

Le serveur offre une gestion robuste des erreurs :

  • Nouvelles tentatives automatiques en cas d’erreurs transitoires
  • Gestion des limites de débit avec backoff exponentiel
  • Messages d’erreur détaillés
  • Avertissements sur l’utilisation des crédits
  • Résilience du réseau

Exemple de réponse d’erreur :

{
  "content": [
    {
      "type": "text",
      "text": "Error: Rate limit exceeded. Retrying in 2 seconds..."
    }
  ],
  "isError": true
}
Was this page helpful?Suggest editsRaise issue