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 connexion | Disponibilité 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ée | Ensemble 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 cloud | Outils 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ée | Outils 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 à cartographiersearch: Terme de recherche facultatif pour filtrer les URLsitemap: Contrôle l’utilisation du sitemap : « include », « skip » ou « only »includeSubdomains: Indique s’il faut inclure les sous-domaines dans la cartographielimit: Nombre maximal d’URL à renvoyerignoreQueryParameters: 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 à renvoyerlocation: Emplacement géographique des résultats de recherchetbs: Filtre de recherche temporel (par exemple,qdr:dpour le dernier jour,qdr:wpour la dernière semaine,qdr:mpour le dernier mois)filter: Filtre de recherche supplémentairesources: Tableau des types de sources dans lesquels effectuer la recherche (web,images,news)scrapeOptions: Options de scraping des pages de résultats de rechercheenterprise: 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é :
- Appelez
firecrawl_parseavecfilePath. L’outil renvoie une commande de téléversement préremplie et unnextToolCallcontenant uneuploadRef. - Exécutez la commande de téléversement sur la machine qui peut lire le fichier, puis appelez de nouveau
firecrawl_parseavec l’uploadRefrenvoyé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 estmarkdown.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 informationsprompt: prompt personnalisé pour l’extraction par le LLMschema: schéma JSON pour l’extraction de données structuréesallowExternalLinks: autoriser l’extraction depuis des liens externesenableWebSearch: activer la recherche web pour obtenir du contexte supplémentaireincludeSubdomains: 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écifiquesschema: 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é parfirecrawl_agent(obligatoire)
États possibles :
processing: l’agent effectue encore ses recherches -- continuez à l’interrogercompleted: la recherche est terminée -- la réponse contient les données extraitesfailed: 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
urlpour ouvrir une nouvelle page et interagir avec elle en un seul appel MCP. - Transmettez le
scrapeIdd’un appelfirecrawl_scrapepré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 ouscrapeId.scrapeId: ID de tâche de scraping issu d’un appelfirecrawl_scrapeprécédent. Utilisez ce paramètre ouurl.prompt: Instruction en langage naturel décrivant l’action à effectuer. Fournissezpromptoucode.code: Code à exécuter dans la session de navigateur. Fournissezcodeouprompt.language:bash,pythonounode(facultatif,nodepar défaut, utilisé uniquement aveccode).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 modeurl.
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.
| Outil | Objectif |
|---|---|
firecrawl_research_search_papers | Rechercher des articles scientifiques |
firecrawl_research_inspect_paper | Consulter les métadonnées et les détails d’un article |
firecrawl_research_related_papers | Trouver des articles liés à un article de référence |
firecrawl_research_read_paper | Lire le contenu disponible d’un article |
firecrawl_research_search_github | Rechercher 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."
}
}| Outil | Objectif |
|---|---|
firecrawl_monitor_create | Créer un moniteur de page ou de crawl |
firecrawl_monitor_list | Lister les moniteurs |
firecrawl_monitor_get | Obtenir un moniteur |
firecrawl_monitor_update | Mettre à jour un moniteur |
firecrawl_monitor_run | Déclencher une vérification |
firecrawl_monitor_delete | Supprimer un moniteur |
firecrawl_monitor_checks | Lister les vérifications d’un moniteur |
firecrawl_monitor_check | Obtenir 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
}