>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
TypeScript

Comment connecter des milliers de parseurs prêts à l'emploi à votre LLM

Apify MCP Server

Lorsque vous travaillez avec des modèles de langage dans des projets réels, vous vous heurtez assez vite au même problème. Le modèle est excellent pour le raisonnement et l'écriture de code, mais il est aveugle. Il a besoin de données fraîches du monde extérieur : des publications à jour des réseaux sociaux, des contacts d'entreprises depuis des cartes, des fiches produits de places de marché, ou des résultats récents de moteurs de recherche.

Habituellement, à ce stade, un développeur commence à écrire des outils personnalisés pour l'appel de fonctions, à construire des wrappers autour de Playwright, ou à assembler des pipelines via Cheerio. Après quelques semaines de maintenance de tels scripts, vous remarquez que la moitié du temps est passée à lutter contre les captchas, les mises en page et les sélecteurs obsolètes.

L'équipe Apify a résolu ce problème via le Model Context Protocol, en publishant le projet apify-mcp-server. Fondamentalement, ils ont transformé l'ensemble de leur catalogue de scrapers cloud prêts à l'emploi en une interface unifiée d'appel d'outils pour les agents IA.

Ce que c'est et pourquoi vous en avez besoin

Le dépôt contient une implémentation de serveur MCP qui connecte les clients locaux ou cloud (Claude Desktop, Cursor, VS Code, ChatGPT) à la plateforme Apify. La plateforme exécute des milliers de scripts prêts à l'emploi appelés Actors. Chaque Actor peut récupérer des données structurées de sites spécifiques : Google Maps, Facebook, Instagram, boutiques en ligne, ou simplement crawler des sites web pour le RAG.

MCP Clients

Au lieu de décrire manuellement des schémas pour des dizaines d'API pour votre modèle, vous connectez un seul point de terminaison. L'assistant recherche lui-même le bon scraper dans le catalogue, lit son schéma JSON, valide les paramètres d'entrée et lance la collecte de données.

Comment fonctionne l'appel d'outils

La fonctionnalité principale du serveur est la découverte dynamique d'outils. Vous n'avez pas besoin de coder en dur la configuration de chaque parseur requis à l'avance.

Par défaut, le serveur donne à l'agent un ensemble de base d'actions :

  1. search-actors trouve un scraper adapté dans le catalogue par requête textuelle.
  2. fetch-actor-details récupère le schéma des paramètres d'entrée et la documentation du script trouvé.
  3. call-actor lance l'exécution de la tâche sur l'infrastructure Apify.
  4. get-dataset-items récupère les résultats structurés prêts à l'emploi par lots avec support de la pagination.
  5. apify--rag-web-browser est intégré comme un outil rapide de recherche web et de parsing de contenu pour le RAG.

Si vous demandez à Claude : « Trouvez les 10 meilleurs cafés de Prague sur Google Maps avec les numéros de téléphone », l'agent ne dit pas qu'il n'a pas accès. Il appelle search-actors, trouve le Google Maps Scraper, lui transmet les coordonnées et la ville, attend le résultat et lit le dataset.

{
  "query": "coffee shops in Prague",
  "maxResults": 10
}

Le modèle génère lui-même ce JSON, en le vérifiant contre le schéma des paramètres du scraper sélectionné.

Options de connexion : Cloud vs exécution locale

Vous pouvez connecter le serveur au client de deux manières. Le choix dépend de l'endroit où se trouve votre agent.

1. Option hébergée via Streamable HTTP

Le chemin le plus simple pour Claude.ai ou VS Code. L'équipe d'Apify l'héberge elle-même à mcp.apify.com. L'autorisation OAuth est prise en charge, donc dans certains clients vous n'avez même pas besoin de copier manuellement les jetons API.

Si vous n'avez besoin que d'un outil spécifique sans charge supplémentaire sur le contexte du modèle, vous pouvez transmettre les paramètres directement dans l'URL :

https://mcp.apify.com?tools=apify/rag-web-browser

Dans ce mode, le serveur ne donnera à l'agent qu'un seul outil de recherche, sans polluer le contexte avec les métadonnées des autres parseurs.

2. Exécution locale via stdio

Si vous configurez Claude Desktop ou un agent local dans le terminal, lancez le serveur via npx :

export APIFY_TOKEN="ваш_токен_apify"
npx @apify/actors-mcp-server --tools actors,docs,apify/rag-web-browser

Le processus local lit les variables d'environnement, rassemble les schémas et communique avec le client via les flux d'entrée/sortie standard.

Paiement sans créer de compte

Un détail architectural intéressant concerne l'économie des agents. Que faites-vous si un agent IA fonctionne de manière autonome et n'a pas de profil Apify enregistré avec une carte liée ?

Les développeurs ont intégré la prise en charge des protocoles de paiement automatiques :

  • AGI : l'agent achète un jeton prépayé avec une limite via des micropaiements via x402 ou MPP et l'utilise comme jeton Bearer standard.
  • Direct x402 : paiement en USDC sur le réseau Base pour chaque exécution spécifique via l'utilitaire mcpc. Le solde non utilisé est automatiquement renvoyé au portefeuille de l'agent après 60 minutes d'inactivité.
  • Skyfire : l'agent génère des jetons de paiement via l'infrastructure Skyfire et les transmet dans les paramètres d'appel d'outils.

Cela supprime les maux de tête liés à la facturation lorsque les agents opèrent dans des environnements entièrement isolés.

Nuances techniques et limitations

La base de code contient plusieurs solutions pratiques méritant d'être prises en compte lors de l'intégration :

  • Les schémas des paramètres d'entrée sont tronqués. Les longues descriptions de champs sont limitées à 500 caractères, et les listes de valeurs enum sont limitées à 20 000 caractères. C'est intentionnel pour que les schémas lourds des parseurs complexes ne consomment pas la fenêtre de contexte du modèle.
  • L'appel call-actor ne retourne pas l'ensemble du tableau de données parsées en une seule fois dans la première réponse. Il retourne l'ID du dataset et les métadonnées de l'exécution. Pour récupérer les lignes, l'agent effectue l'étape suivante via get-dataset-items. Cela protège le contexte contre le débordement avec des gigaoctets de texte.
  • L'envoi de télémétrie et Sentry sont activés par défaut en mode stdio. Vous pouvez les désactiver avec le flag --telemetry-enabled=false ou la variable d'environnement TELEMETRY_ENABLED=false.

À qui le projet sera utile en pratique

Si vous construisez des agents autonomes pour la recherche, l'analyse concurrentielle, la génération de leads ou la surveillance des prix, le projet vous fera gagner des semaines de travail sur l'infrastructure de scraping. Au lieu d'écrire vos propres crawlers, vous obtenez un accès prêt à l'emploi à des parseurs éprouvés via un protocole standardisé.

Le moyen le plus simple de commencer est de connecter le point de terminaison hébergé https://mcp.apify.com à Claude Desktop ou Cursor et de tester l'outil de base apify/rag-web-browser. Pour les tâches de production étroites, il vaut mieux coder immédiatement en dur la liste des outils via le paramètre tools afin que l'agent ne dépense pas de jetons pour des recherches de catalogue inutiles.

Projets similaires