Non. Commencez par le serveur de référence officiel de Fetch, disponible dans le dépôt des MCP Server. Il gère déjà la récupération des URL et la conversion du HTML en Markdown ; il vous suffit donc de copier sa structure et de remplacer le backend par une API de rendu qui ne soit pas bloquée.
Mise en place d'un MCP Server pour l'extraction de données Web en temps réel
Un MCP Server permet à tout agent compatible MCP d'appeler vos outils de données Web via un protocole standard. Pour l'extraction en temps réel, vous exposez un fetch ou search outil dont le backend récupère des pages en temps réel et renvoie des données épurées et structurées, accompagnées des URL sources. De ce fait, l'agent n'intervient jamais au niveau du protocole HTTP, de la rotation d'adresses IP ni de l'analyse syntaxique du code HTML. Il appelle une fonction nommée et reçoit en retour du code Markdown.
C'est justement cette séparation qui fait toute la différence. La logique de votre modèle reste simple. La partie complexe, qui consiste à récupérer une page non structurée et à la transformer en un format lisible par un LLM, se déroule entièrement au sein d'un outil dont vous avez le contrôle.
Points clés à retenir
- Un MCP Server met à la disposition des clients MCP des outils nommés (fonctions associées à des schémas) ; pour les données Web, les deux que vous utilisez généralement sont
extract_page(url)etsearch(query). - Le serveur de référence officiel de MCP Fetch récupère déjà une URL et convertit le code HTML en Markdown, ce qui vous offre donc une base de départ fonctionnelle.
- Acheminez la requête via une API de rendu et un réseau de sortie sur un appareil réel ; les requêtes provenant d'adresses IP de serveurs sont bloquées, et en 2025, les robots automatisés représentaient 51 % du trafic Web, ce qui explique que les mesures de défense soient très strictes.
- Renvoyez du Markdown, et non du code HTML brut. Cela réduit considérablement le coût en jetons de l'agent et permet de conserver des réponses analysables.
- Veillez à toujours inclure les URL sources avec le contenu afin que l'agent (et votre journal d'audit) puisse attribuer chaque mention.
Qu'est-ce qu'un MCP Server, et quels services propose-t-il ?
Un MCP Server Il s'agit d'un programme qui met à la disposition des clients MCP, via le protocole Model Context Protocol, des outils sous forme de fonctions nommées dotées de schémas de données d'entrée et de sortie typés. Des clients tels que Claude, Cursor ou votre propre agent détectent ces outils au moment de la connexion et les appellent comme s'il s'agissait de fonctions locales. À titre de référence, Gartner prévoit que 40 % des applications d'entreprise intégreront des agents IA dédiés à des tâches spécifiques d'ici fin 2026 (Gartner, D'ici 2026, 40 % des applications d'entreprise intégreront des agents IA dédiés à des tâches spécifiques, 2025), il est donc important de bien définir les limites de l'outil.
Un outil (dans MCP) se compose de trois éléments : un nom, un schéma d'entrée et une structure de retour. Pour l'extraction Web, votre contrat pourrait être le suivant : extract_page(url: string) -> markdown et search(query: string) -> results[]. L'agent ne voit que ces signatures. Tout ce qui concerne la manière dont vous récupérez, réessayez et nettoyez la page reste masqué derrière celles-ci.
Vous n'avez pas besoin de partir de zéro. Le référentiel officiel des MCP Server comprend un serveur de référence « Fetch » qui prend une URL, la récupère et convertit le code HTML en Markdown (modelcontextprotocol/serveurs). Commencez par lire les définitions de ses outils. Elles vous indiquent les formats d'entrée et de sortie à copier, ce qui vous permet de consacrer votre temps au back-end plutôt qu'à la mise en place du protocole. Cet article explique comment remplacer ce back-end par un autre qui ne soit pas bloqué. Pour une vue d'ensemble plus large des normes, le Web agentique et WebMCP présente les orientations futures du MCP et de la proposition WebMCP côté navigateur.
Pourquoi le backend de récupération est-il plus important que le protocole ?
La couche MCP est la partie la plus simple. Le plus difficile est de parvenir à récupérer ne serait-ce qu’une seule page active, car toute requête brute adressée à l’adresse IP d’un serveur est bloquée. En 2025, les robots automatisés représentaient 51 % de l’ensemble du trafic web ; c’était la première fois en dix ans que les robots dépassaient les humains, les robots malveillants représentant quant à eux 37 % (Imperva, Rapport 2025 sur les bots malveillants, 2025). En d'autres termes, ces sites ont adapté leurs défenses précisément au type de trafic généré par votre serveur.
La situation s'est aggravée, en particulier pour les agents. Le 1er juillet 2025, Cloudflare a commencé à bloquer par défaut les robots d'exploration basés sur l'IA sur environ 20 % du Web et a lancé une place de marché fonctionnant selon un modèle de paiement à l'exploration (Cloudflare, Cloudflare vient de modifier la manière dont les robots d'indexation basés sur l'IA explorent l'Internet dans son ensemble, 2025). Les sites d'information ont suivi la même tendance : environ 79 % des principaux sites d'information bloquent désormais les bots d'entraînement à l'IA, et environ 49 % interdisent expressément l'accès à GPTBot (Press Gazette, Huit des dix plus grands sites d'information au monde bloquent désormais les robots d'entraînement à l'IA, 2025).
Ainsi, un serveur de récupération MCP « naïf » échoue sur les cibles qui comptent. La solution réside dans le chemin de sortie. Par conséquent, acheminez votre requête via une API de rendu sur un réseau d'appareils réels afin que celle-ci apparaisse comme provenant d'un véritable utilisateur situé à un emplacement réel, et non d'une plage d'adresses de centre de données qui est rejetée d'emblée.
Comment créez-vous l'outil de récupération ?
Définissez d'abord le contrat de l'outil, puis associez son backend à une API de rendu. Votre extract_page Cet outil prend une URL en entrée et renvoie du code Markdown ainsi que l'URL source. En arrière-plan, il appelle un point de terminaison de rendu qui récupère la page en ligne, exécute le code JavaScript et renvoie directement le code Markdown épuré, de sorte que votre outil n'effectue aucun analyse syntaxique du code HTML lui-même.
C'est ici que vous effectuez le raccordement Massive's Web Render API. Une API de rendu est un service qui récupère une page, exécute son code JavaScript dans un véritable navigateur et renvoie le résultat final plutôt que le code source brut. Son point de terminaison « Browsing » accepte format=markdown en tant que résultat de premier ordre : la page est renvoyée prête pour les LLM, sans qu'il soit nécessaire de procéder à un « scraping » du DOM dans le code de votre outil. La requête s'effectue via un réseau d'appareils réels comptant environ 1,3 million d'appareils actifs quotidiens répartis dans plus de 195 pays ; l'adresse IP de sortie correspond donc à un véritable appareil grand public, et non à une plage de serveurs signalée. Par exemple, vous pouvez effectuer un ciblage géographique par pays, subdivision ou ville lorsqu’une page s’affiche différemment selon la région, et maintenir une session persistante jusqu’à 12 minutes sur la même adresse de sortie avec un Cookie: session=<id> En-tête pour les flux en plusieurs étapes.
Lors de nos tests auprès des fournisseurs, le taux de réussite des adresses IP résidentielles sur les sites protégés est généralement bien supérieur à celui des adresses IP de centres de données (fourchettes approximatives : résidentielles ~85-99 %, centres de données ~20-40 %). Considérez ces chiffres comme une référence fournie par le fournisseur, et non comme une étude indépendante. Cela explique néanmoins une tendance que nous observons souvent : les équipes adoptent cette solution à titre de solution de secours, puis la font passer au premier plan dès qu’elles constatent une baisse du taux de blocage.
Renvoyez des données structurées, et non un blob. Chaque extract_page La réponse doit contenir le corps au format Markdown ainsi que l'URL source résolue, afin que l'agent puisse attribuer la source et que vos journaux puissent effectuer un audit. Pour un outil de type moteur de recherche, le point de terminaison « Search » récupère les résultats SERP des principaux moteurs de recherche, avec une ciblage géographique, ce qui vous permet de search(query) une véritable fonctionnalité de découverte, plutôt qu'une liste d'URL figées.
Pourquoi renvoyer du Markdown plutôt que du code HTML brut ?
Privilégiez le Markdown, car il nécessite beaucoup moins de tokens que le HTML brut tout en restant lisible. Le HTML brut est principalement constitué de balises, de scripts et de styles dont le modèle n'a pas besoin. La conversion en Markdown élimine ces éléments superflus et réduit considérablement le nombre de tokens, de plus de la moitié sur les pages classiques (dev.to, Outils de navigation pour les agents IA – 4e partie : se passer du navigateur, 2026). Moins il y a de jetons, plus le coût est faible et plus les réponses sont rapides à chaque appel d'outil.
Il y a également une raison liée à la qualité. Les modèles fonctionnent mieux avec des titres et des listes Markdown bien structurés qu’avec un enchevêtrement de balises `div` imbriquées. Concrètement, vous utilisez moins de tokens tout en obtenant une extraction plus fiable. Les compromis liés au Markdown, ainsi que les gains réels qu’il permet de réaliser, sont abordés dans contourner le navigateur pour réduire les coûts liés aux jetons d'agent, qu'il est utile de lire avant de choisir un format de sortie.
Étant donné que Web Render API renvoie format=markdown En effet, votre outil MCP effectue la conversion en arrière-plan, et non dans le contexte de l'agent. Par conséquent, l'agent reçoit du code Markdown déjà traité et consacre son budget de jetons au raisonnement, et non à l'analyse d'un mélange de balises.
Comment testez-vous l'outil depuis un agent ?
Effectuez un test en connectant le serveur à un véritable client MCP et en observant le temps de réponse de l'outil. Configurez votre agent (Claude Desktop, Cursor ou un client personnalisé) pour qu'il se connecte au serveur, puis vérifiez que extract_page et search apparaît dans sa liste d'outils, puis demandez-lui d'extraire une page en direct. Vérifiez que la réponse est au format Markdown, qu'elle contient l'URL source et qu'elle a été renvoyée sans être bloquée.
Choisissez délibérément des cibles difficiles. Testez votre système sur un site faisant un usage intensif de JavaScript et sur une page connue pour bloquer les robots, car les pages faciles masquent les défaillances que vous avez cherché à éviter en développant ce backend. D’après ce que nous observons sur l’ensemble des charges de travail des agents, c’est sur cette première cible difficile que la plupart des serveurs peu sophistiqués tombent discrètement en panne. En comparaison, un outil de récupération basé sur le rendu tient le coup. Vérifiez également que le ciblage géographique fonctionne en demandant la même URL depuis deux pays différents et en vous assurant que le contenu diffère là où il le devrait.
Une fois que l'outil de récupération est bien rodé, il devient la couche de récupération pour des systèmes plus vastes. Le même outil qui alimente un agent peut alimenter un pipeline de récupération qui reste à jour, ce qui est exactement ce que Mise en place d'un pipeline RAG à partir de données Web en temps réel s'appuie sur un outil de récupération en temps réel comme celui-ci.
Sources
- Imperva, Rapport 2025 sur les bots malveillants, 2025. https://www.imperva.com/resources/resource-library/reports/2025-bad-bot-report/
- Cloudflare, Cloudflare vient de modifier la manière dont les robots d'indexation basés sur l'IA explorent l'Internet dans son ensemble, 2025. https://www.cloudflare.com/press/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/
- Press Gazette, Huit des dix plus grands sites d'information au monde bloquent désormais les robots d'entraînement à l'IA, 2025. https://pressgazette.co.uk/platforms/eight-in-ten-of-worlds-biggest-news-websites-now-block-ai-training-bots/
- Gartner, D'ici 2026, 40 % des applications d'entreprise intégreront des agents IA dédiés à des tâches spécifiques, 2025. https://www.gartner.com/en/newsroom/press-releases/26/08/2025 - Gartner prévoit que 40 % des applications d'entreprise intégreront des agents IA dédiés à des tâches spécifiques d'ici 2026, contre moins de 5 % en 2025
- dev.to, Outils de navigation pour les agents IA – 4e partie : se passer du navigateur, 2026. https://dev.to/stevengonsalvez/browser-tools-for-ai-agents-part-4-skip-the-browser-save-80-on-tokens-304c
- dev.to, Mise en place d'un MCP Server pour l'extraction de données Web en temps réel, 2026. https://dev.to/alterlab/build-an-MCP-Server-for-real-time-web-data-extraction-3725
- Protocole de contexte de modèle, MCP Server officiels (serveur de référence Fetch). https://github.com/modelcontextprotocol/servers
Foire aux questions
Les requêtes d'obtention de l'adresse IP du serveur sont bloquées sur les sites protégés. En 2025, les bots représentaient 51 % du trafic Web et Cloudflare a commencé à bloquer par défaut les robots d'exploration basés sur l'IA sur environ 20 % du Web ; par conséquent, les requêtes directes échouent sur les cibles qui vous intéressent. Un chemin de sortie via un appareil réel permet d'éviter cela.
Du Markdown « propre » accompagné de l'URL source résolue, renvoyé sous forme de données structurées. Le Markdown permet de limiter le coût des jetons, tandis que l'URL source permet à l'agent d'attribuer des revendications et vous permet de contrôler chaque appel.
En général, deux : extract_page(url) pour une page connue et search(query) à des fins de découverte. Veillez à ce que le schéma de chaque outil reste simple et que le format de retour soit prévisible, afin que tout client MCP puisse les appeler sans traitement particulier.
