Tu as branché une douzaine de serveurs MCP à ton agent IA. GitHub, Slack, Linear, Postgres, S3, recherche web — le buffet à volonté. Ton agent peut théoriquement toucher toute ta stack. Tu te sens puissant. Lui, pas du tout.

Il a commencé à foirer des tâches qu'il gérait les doigts dans le nez. Choisir le mauvais outil. Halluciner des paramètres qui n'existent pas. Oublier du contexte que tu venais littéralement de taper. Tu n'as rien cassé — tu lui as juste filé trop de cartes de restaurant à lire avant qu'il puisse commencer à cuisiner.

Les maths dont personne ne t'a parlé

Le 14 avril, Cloudflare a publié une Enterprise MCP Reference Architecture qui met enfin des vrais chiffres sur le problème. MCP (Model Context Protocol), c'est un standard de connecteur universel pour les outils IA — comme l'USB, mais pour brancher des agents à des services externes. Chaque outil MCP embarque un schéma qui dit au modèle ce qu'il fait et quels paramètres il attend. À chaque tour, le modèle lit tous les schémas.

Comme on l'a détaillé hier dans Tool-Calling Is Dead, le portail de Cloudflare brûlait ~9 400 tokens rien qu'en descriptions d'outils — avant même que l'agent touche ton vrai problème. Le serveur MCP de GitHub (94 outils) engloutissait ~42 000 tokens. Ces chiffres méritent d'être répétés uniquement parce que rien n'a changé entre-temps. Les gens ont juste continué à brancher des serveurs.

Un benchmark du 6 mars avait déjà documenté l'effondrement de la précision : la sélection d'outils passait de ~95 % avec 4 outils ciblés à ~71 % avec 46 outils. Six semaines plus tard, Cloudflare confirmait le même problème à l'échelle enterprise. Le protocole n'avait pas changé. Le nombre de serveurs, si.

Tout le monde corrige, personne n'est d'accord sur comment

Cloudflare a livré Code Mode le 16 avril — ils ont dégommé l'annuaire d'outils pour le remplacer par une API typée. Deux points d'entrée au lieu de 2 500+. Les tokens ont chuté de 99,9 %. Brillant. Sauf que c'est verrouillé sur Cloudflare Workers. Ils ont résolu le problème du standard ouvert avec une solution propriétaire. Un classique.

Atlassian a pris la voie de la compression. Leur mcp-compressor open-source, sorti le 29 mars, compresse les 94 outils du MCP GitHub de 17 600 tokens à 500 en compression maximale (réduction de 97 %). Imagine que tu minifies ta doc d'API jusqu'à ce que toi-même tu ne puisses plus la lire. Le modèle, lui, y arrive encore — mais le compromis est bien réel. Les propres benchmarks d'Atlassian montrent que la compression max dégrade la fidélité des contraintes de paramètres : les outils complexes avec des schémas d'objets imbriqués perdent les indices de validation dont les modèles ont besoin pour des invocations correctes. Leur doc recommande une compression moyenne (80 % de réduction, ~3 500 tokens) pour la production et réserve le max pour « l'exploration uniquement ». La version honnête : tu échanges de la précision contre de la marge en espérant que le modèle comblera les trous.

Anthropic a choisi une voie complètement différente. Le 8 avril, ils ont lancé Managed Agents à 0,08 $/heure — des sous-agents spécialisés avec des kits de 5 à 10 outils au lieu d'un généraliste qui se noie dans 50. Chaque sous-agent ne charge que ses propres outils par tour, réduisant l'overhead par agent d'environ 85 %. Le correctif pour trop d'outils ? Plus d'agents avec moins d'outils chacun. La récursion en tant que service.

Et puis il y a les équipes qui ont zappé l'optimisation pour passer directement à la suppression. Le 12 mars, l'équipe d'ingénierie de GitHub Copilot a partagé les résultats de la réduction de leur nombre d'outils de 40 à 13 — 2 à 5 points d'amélioration sur les benchmarks, 400 ms de latence en moins. En février, Block a reconstruit son serveur MCP Linear trois fois, passant de 30+ outils à 2. Le 3 avril, Phil Schmid (Hugging Face) a distillé le pattern en une seule règle : « Trie sans pitié. 5 à 15 outils par serveur. Un serveur, un job. » Pas d'algorithme de compression. Pas de couche de découverte. Juste de la discipline.

Le vrai problème, c'est le protocole

Voilà ce qu'aucune de ces solutions ne corrige : chacune d'entre elles est propriétaire, spécifique à une plateforme, ou un contournement d'un trou dans MCP lui-même.

Cloudflare Code Mode tourne sur Workers. Managed Agents tournent avec Claude. Le compressor d'Atlassian est l'option la plus portable — et c'est quand même du ruban adhésif sur un protocole livré sans table des matières.

Anthropic a vendu MCP comme le standard universel. Le connecteur unique pour les gouverner tous. À la place, on construit des couches de découverte spécifiques à chaque fournisseur par-dessus le standard universel pour le faire fonctionner à l'échelle.

On a déjà vu ce film. CORBA dans les années 90 — un protocole objet « universel » qui a engendré toute une industrie de ponts propriétaires juste pour le rendre utilisable. L'Interface Repository promettait la découverte dynamique ; en pratique, chaque fournisseur ORB livrait le sien. SOAP dans les années 2000 — le « standard » entreprise que tout le monde a discrètement contourné avec REST parce que les fichiers WSDL se transformaient en monstres illisibles. Les modules JavaScript — AMD, CommonJS, UMD, une décennie entière de fragmentation avant que les ES modules n'arrivent. Le schéma ne change jamais : un standard ouvert sort incomplet, les fournisseurs comblent les trous avec des couches propriétaires, l'écosystème se fragmente jusqu'à ce que quelqu'un corrige le standard ou le tue.

MCP est dans la phase de colmatage par les fournisseurs. Cloudflare, Anthropic, Atlassian, et une douzaine de plus petits acteurs — chacun construisant sa propre réponse à la même fonctionnalité manquante : la découverte dynamique d'outils. Le protocole doit gérer ça nativement. Ce n'est pas le cas. Alors on se retrouve avec six solutions concurrentes et on appelle ça un écosystème.

La lecture optimiste : la compétition stimule l'innovation, la meilleure approche gagne, le standard l'absorbe. La lecture réaliste — celle sur laquelle je parierais — c'est que les grands fournisseurs de modèles intègreront leur découverte préférée dans les frameworks d'agents par défaut, et « universel » commencera discrètement à signifier « fonctionne avec Claude » ou « fonctionne avec GPT » mais pas les deux. L'USB-C avec ses protocoles de charge propriétaires, bis repetita.

Ce que tu fais concrètement aujourd'hui

Audite tes connexions MCP. Supprime les serveurs que ton agent n'a pas appelés depuis une semaine. Regroupe les outils restants par domaine fonctionnel. Mesure la consommation de tokens avant et après — tu seras surpris de la marge que tu récupères.

MCP n'a pas besoin de plus de serveurs. Il a besoin d'un moment « gestionnaire de paquets » — de la découverte dynamique et du lazy loading qui traite les outils comme des imports, pas comme des variables globales fourrées dans chaque prompt. D'ici là, moins c'est littéralement plus. Et les agents les plus performants ne seront pas ceux qui ont le plus d'outils — mais ceux qui auront appris à dire non.