Réduire la consommation de tokens MCP dans Claude Code : résoudre le problème de la fenêtre de contexte

Les serveurs MCP peuvent consommer des dizaines de milliers de tokens avant même que vous ne tapiez votre premier prompt. Cet article explique comment mesurer ce coût avec /context, supprimer les serveurs inactifs, activer la recherche d’outils, limiter la sortie des outils et utiliser des sous-agents, pour que Claude Code réserve sa fenêtre de contexte à votre travail réel.

Réduire la consommation de tokens MCP dans Claude Code : résoudre le problème de la fenêtre de contexte
Cristian Da Conceicao
Fondateur de Picasso IA

Vous ouvrez Claude Code, tapez un prompt court, et la jauge de contexte affiche déjà la moitié. Votre prompt n’y est pour rien. Le coupable est généralement l’accumulation de serveurs MCP que vous avez connectés le mois dernier et oubliés. Chaque serveur remet à Claude une liste de définitions d’outils dès le début de la session, et chaque définition se paie en tokens avant même que le travail commence. Ajoutez quelques réponses d’outils trop volumineuses et la fenêtre de contexte est épuisée bien avant la fin de la tâche. La bonne nouvelle, c’est que c’est l’un des problèmes les plus faciles à corriger de tout le flux de travail. Cet article détaille l’ordre qui fonctionne : mesurer d’abord, puis élaguer les serveurs, activer la recherche d’outils, limiter la sortie et réinitialiser les sessions au bon moment.

Vue en plongée d’un bureau en chêne encombré avec un ordinateur portable sombre, un café et des câbles de charge emmêlés à l’aube

Si vous reconnaissez ces symptômes, vous n’êtes pas seul. Des sessions qui paraissent lentes, des réponses qui oublient les consignes données dix minutes plus tôt, et une auto-compaction qui se déclenche au milieu d’un refactoring pointent toutes vers la même cause : trop de surcharge fixe et trop peu de place pour le travail lui-même.

Pourquoi les serveurs MCP mangent votre contexte

Le Model Context Protocol (MCP) permet à Claude Code de communiquer avec des bases de données, des navigateurs, des outils de suivi de tickets, des outils de design et des générateurs d’images. Chaque connexion est réellement utile. Le prix à payer : Claude doit connaître ce que fait chaque outil, donc le nom, la description et le schéma JSON complet de chaque outil sont chargés dans le prompt.

Où partent réellement les tokens

La surcharge MCP provient de quatre sources, dont seules certaines sont évidentes.

SourceMoment du chargementImpact typiqueQui la contrôle
Définitions d’outilsAu démarrage de la sessionDes centaines de tokens par outil, des milliers par serveurVous, en choisissant les serveurs
Réponses des outilsÀ chaque appelDe quelques centaines à des dizaines de milliers de tokensLe serveur et votre limite de sortie
Fichiers de mémoire comme CLAUDE.mdAu démarrage de la sessionAugmente avec chaque règle ajoutéeVous
Historique de conversationSe construit pendant toute la sessionAugmente à chaque échangeLa compaction et l’effacement

Vue en contre-plongée de hautes piles de lourdes boîtes d’archives et de classeurs à anneaux sur une étagère métallique

L’article technique d’Anthropic sur la recherche d’outils décrit une configuration avec 58 outils répartis sur cinq serveurs qui ont consommé environ 55K tokens avant même le début de la conversation. Cela représente environ 950 tokens par outil. Un serveur comptant 35 outils, comme une intégration complète d’hébergement de code, peut à lui seul absorber une part à deux chiffres d’une fenêtre de contexte standard.

💡 Calcul rapide : si vos outils pèsent en moyenne 900 tokens chacun et que vous en connectez 40, vous avez dépensé environ 36 000 tokens pour un menu dans lequel Claude ne commandera peut-être jamais.

Le coût réel des outils inactifs

Les outils inactifs nuisent de deux façons. La première est l’espace pur : une fenêtre qui démarre remplie à 30 % dispose de 30 % de place en moins pour le code, les journaux et le raisonnement. Le cache de prompt atténue le prix de cette surcharge fixe lors des tours suivants, mais il ne fait rien pour la place qu’elle occupe.

La seconde est le bruit décisionnel. Lorsque cinq serveurs exposent des outils de recherche ou de récupération qui se chevauchent, le modèle a davantage de quasi-doublons parmi lesquels choisir. Les propres tests d’Anthropic sur le chargement à la demande des outils ont montré qu’exposer moins d’outils dès le départ améliorait aussi la fiabilité avec laquelle le bon outil était choisi. Moins d’outils, ce n’est pas seulement moins cher, c’est souvent plus précis.

Mesurer les dégâts d’abord

Ne commencez pas à supprimer des serveurs au hasard. Mesurez, changez une seule chose, puis mesurez à nouveau.

Lancer /context avant de toucher à quoi que ce soit

Ouvrez une session neuve dans votre projet et lancez /context avant d’envoyer le moindre prompt. Claude Code affiche une répartition de la fenêtre par catégorie : prompt système, outils système, outils MCP, fichiers de mémoire, messages et espace libre. Comme vous n’avez encore rien tapé, la ligne messages est proche de zéro et tout le reste n’est que surcharge.

Vue par-dessus l’épaule d’un développeur qui étudie un terminal sombre avec des barres horizontales floues sur un grand écran

Lancez ensuite /mcp pour lister les serveurs connectés et leur statut. Depuis un terminal classique, claude mcp list donne le même inventaire. Notez le nombre d’outils MCP indiqué par /context. C’est votre référence de départ.

Lire les chiffres comme un budget

Il n’existe aucun seuil officiel, mais cette règle empirique fonctionne bien en pratique :

Part des outils MCP dans la fenêtreVerdictQue faire
Moins de 5 %SaineNe touchez à rien
De 5 % à 15 %À surveillerSupprimez les serveurs que vous utilisez moins d’une fois par semaine
Plus de 15 %Un vrai problèmeÉlaguez fortement et activez la recherche d’outils

Vérifiez aussi la ligne des fichiers de mémoire. Un CLAUDE.md devenu un mur de règles coûte des tokens à chaque session, tout comme un serveur MCP bavard.

Réduire et cadrer vos serveurs

Le token le moins cher est celui qui n’est jamais chargé. L’hygiène des serveurs bat tous les réglages astucieux.

Désactiver d’abord, supprimer ensuite

Ouvrez le menu /mcp et désactivez tout ce dont vous n’avez pas besoin pour la tâche du jour. Selon votre version, vous pouvez activer ou désactiver un serveur sans perdre sa configuration. Lorsque vous êtes sûr qu’un serveur ne sert plus à rien, supprimez-le définitivement avec claude mcp remove <name>.

Gros plan d’une main qui actionne un seul interrupteur en laiton dans une rangée d’interrupteurs sur un panneau de bois patiné

Posez-vous trois questions au sujet de chaque serveur :

  • Ai-je appelé un outil de ce serveur au cours de la semaine dernière ?
  • Un outil en ligne de commande fait-il déjà le même travail ?
  • Duplique-t-il des outils qu’un autre serveur propose déjà ?

Un « non » honnête suffit pour le désactiver.

Limiter les serveurs à des projets

Les serveurs MCP peuvent être ajoutés à trois niveaux : local, projet et utilisateur. Un serveur de niveau projet est enregistré dans un fichier .mcp.json à la racine du dépôt, ainsi il ne se charge que là où il est utile :

claude mcp add --scope project my-db -- npx my-db-mcp-server

Gardez votre niveau utilisateur presque vide. Placez le serveur de base de données dans le dépôt qui contient une base de données, et le serveur de design dans le dépôt qui contient des designs. Pour les sessions ponctuelles, vous pouvez aussi démarrer Claude Code avec uniquement les serveurs nommés dans un fichier de configuration :

claude --strict-mcp-config --mcp-config ./mcp/docs-only.json

Cette session ignore tous les autres serveurs configurés, ce qui la rend idéale pour une tâche ciblée ou pour une comparaison nette avant et après.

Remplacer les serveurs par des CLI classiques

Si un outil existe déjà sous forme de programme en ligne de commande, comme git, gh, docker, psql ou aws, Claude peut l’exécuter via le shell. Cela ne coûte aucun token de définition d’outil, puisque le modèle connaît déjà le fonctionnement de ces commandes.

Gros plan de deux mains qui tapent sur un clavier dans un espace de travail peu éclairé avec une petite plante en arrière-plan

Anthropic a poussé cette idée plus loin dans son article sur l’exécution de code avec MCP. Présenter les serveurs comme des API de code que l’agent appelle depuis un script, plutôt que comme des outils individuels, a fait passer un exemple de flux de travail d’environ 150 000 tokens à environ 2 000, soit une réduction de 98,7 %. Vous n’avez pas besoin de reconstruire votre environnement pour profiter de cette leçon.

MCP reste le meilleur choix dans certains cas :

  • Les flux d’authentification qu’une CLI ne gère pas proprement
  • Les services distants sans équivalent en ligne de commande
  • Les résultats structurés que vous voulez typés et validés

Pour tout le reste, essayez d’abord la CLI.

Laisser la recherche d’outils charger à la demande

Il arrive que vous ayez vraiment besoin de disposer de dizaines d’outils. C’est là que le chargement différé prend tout son intérêt.

Comment fonctionne le chargement différé

Au lieu de coller chaque définition d’outil dans le prompt, le client charge un petit outil de recherche ainsi qu’une liste de noms d’outils. Lorsque Claude estime avoir besoin de quelque chose, il effectue une recherche, et seules les définitions correspondantes sont chargées. Dans les versions récentes de Claude Code, cela s’active automatiquement dès que les définitions des outils MCP occuperaient une part importante de la fenêtre, environ 10 % au moment de la rédaction.

Vue en contre-plongée d’un ancien meuble à fiches en bois avec un tiroir ouvert et une main qui soulève une seule fiche vierge

Anthropic a fait état d’une baisse d’environ 85 % des tokens de définition d’outils dans son propre exemple. L’idée est celle d’un fichier de bibliothèque : on n’emporte pas chaque livre à son bureau, on emporte l’index et on va chercher ce dont on a besoin.

Régler selon votre configuration

Le comportement est contrôlé par la variable d’environnement ENABLE_TOOL_SEARCH :

# Default: only kicks in when MCP tools get large
export ENABLE_TOOL_SEARCH=auto

# Lower the trigger point (percent of the window)
export ENABLE_TOOL_SEARCH=auto:5

Les noms et les seuils ont changé d’une version à l’autre. Vérifiez donc la documentation de la version que vous avez installée.

💡 Relancez toujours /context après un changement. Si la ligne des outils MCP n’a pas diminué, le réglage ne fait pas ce que vous pensez.

Il y a un compromis. La première utilisation d’un outil différé coûte une étape de recherche supplémentaire. Si vous appelez les mêmes trois outils à chaque session, gardez ce petit serveur chargé directement et laissez la recherche d’outils gérer la longue traîne.

Empêcher les réponses d’outils trop volumineuses

Les définitions sont un coût fixe. Les réponses constituent le coût variable, celui qui surprend le plus.

Limiter la taille de la sortie

Claude Code avertit lorsqu’un seul résultat d’outil MCP dépasse environ 10 000 tokens et le tronque par défaut à 25 000. Vous pouvez abaisser ce plafond avec une variable d’environnement :

export MAX_MCP_OUTPUT_TOKENS=10000

Macro de profil montrant de l’eau claire versée d’un pichet en verre dans un verre doseur qui commence tout juste à déborder

Une limite est un filet de sécurité, pas une conception. La meilleure solution consiste à utiliser un serveur qui renvoie moins de données dès le départ. Si vous créez ou configurez des serveurs, privilégiez ces schémas :

SchémaProblèmeMeilleure approche
Renvoyer un tableau entierDes dizaines de milliers de lignes dans le contexteFiltrer, trier et limiter côté serveur
Intégrer une image en base64Des milliers de tokens par imageRenvoyer une URL hébergée
Renvoyer le HTML brut d’une pageLe balisage domine le contenuExtraire le texte d’un seul sélecteur
Interroger un statut avec la charge complèteLe volume se répète à chaque interrogationRenvoyer uniquement un champ de statut jusqu’à la fin du traitement

Renvoyer des URL, pas des blobs d’image

Les images sont facturées selon leur taille, environ largeur × hauteur divisé par 750 en tokens d’entrée. Une image de 1 000 × 1 000 pixels coûte environ 1 300 tokens, et une capture d’écran en pleine résolution coûte plusieurs fois ce montant. Les serveurs qui génèrent des images ou des clips doivent renvoyer une URL courte et un statut, jamais les pixels eux-mêmes.

La génération d’images et de vidéos est le premier domaine où cela se voit. Le connecteur MCP de PicassoIA fonctionne de la bonne façon : un appel de génération renvoie tout de suite un identifiant de prédiction, puis vous interrogez le statut jusqu’à ce qu’une URL hébergée apparaisse. Si vous choisissez un générateur à appeler depuis un agent, des modèles texte vers image comme P-Image et Flux 2 Pro s’associent bien à ce schéma, et un modèle vidéo comme Seedance 2.5 Lite suit la même boucle création, interrogation, récupération.

Isoler le travail et réinitialiser souvent

Même une configuration allégée se remplit au cours d’une longue session. Le dernier niveau de défense, c’est la structure.

Confier une seule tâche à chaque sous-agent

Un sous-agent s’exécute dans sa propre fenêtre de contexte et ne renvoie qu’un résumé. Il est donc idéal pour les travaux bruyants : automatisation de navigateur, recherches volumineuses, boucles de génération d’images. Un fichier de sous-agent dans .claude/agents/ comporte un nom, une description, une liste blanche tools et un model, ce qui permet de le restreindre aux deux ou trois outils dont il a exactement besoin.

Vue en plongée d’une mise en place de chef avec de petits bols en céramique disposés en grille régulière sur de l’ardoise sombre

Pensez-y comme à la mise en place : chaque bol contient un seul ingrédient, et rien d’autre ne touche le plan de travail. Pour les tâches mécaniques, un petit modèle comme Claude 4.5 Haiku suffit souvent, et il laisse votre session principale libre pour la réflexion qui requiert un modèle plus puissant. Les versions récentes permettent aussi à un sous-agent de déclarer ses propres serveurs MCP, afin que les plus lourds ne touchent jamais la conversation principale.

Quand /compact est rentable

/compact remplace la conversation en cours par un résumé, et vous pouvez l’orienter :

/compact keep the failing test names, file paths and the final design decision

Lancez-la aux points de rupture naturels : une fonctionnalité vient d’aboutir, les tests viennent de passer au vert, vous vous apprêtez à entamer une nouvelle étape. N’attendez pas l’auto-compaction. Elle se déclenche lorsque la fenêtre est presque pleine, ce qui peut tomber en plein milieu d’une modification délicate.

Plan moyen d’une personne qui essuie un grand tableau blanc, avec de légères traces de marqueur sur la moitié restante

Quand /clear s’impose

Si vous passez à une tâche sans rapport, ne compactez pas. Effacez. Un ancien contexte sur un autre bogue n’est pas un atout, c’est du bruit qui oriente les réponses de travers. Après /clear, chargez uniquement ce dont la nouvelle tâche a besoin.

💡 Les faits durables vont dans CLAUDE.md, mais gardez-le court. Il se charge à chaque session, donc chaque paragraphe en trop est une taxe que vous payez éternellement. Relisez-le chaque mois et supprimez les règles que le modèle suit déjà sans qu’on les lui demande.

Utiliser Sonnet 5 sur PicassoIA

Voici une façon sans risque de réduire le côté entrée de vos sessions avant même qu’elles n’atteignent Claude Code. Claude Sonnet 5 sur PicassoIA est conçu pour les tâches de programmation et d’utilisation d’outils, ce qui en fait un bac à sable pratique pour condenser un CLAUDE.md trop chargé, résumer un long journal ou rédiger un prompt plus serré. Collez le résultat dans Claude Code plutôt que ce fouillis brut.

  1. Ouvrez la page du modèle. Rendez-vous sur Claude Sonnet 5 sur PicassoIA.
  2. Remplissez le champ Prompt obligatoire. Collez le texte à condenser et indiquez au modèle ce qu’il doit conserver, par exemple : « Réduisez ce journal aux dix lignes qui expliquent l’échec. »
  3. Réglez le niveau d’effort. La valeur par défaut est low, qui désactive la réflexion pour des réponses plus rapides et moins coûteuses. Augmentez-le uniquement pour un raisonnement vraiment complexe.
  4. Limitez la sortie. max_tokens est fixé par défaut à 8 192. Pour un résumé, une valeur bien plus basse garde la réponse concise.
  5. Ajoutez un prompt système si vous réutilisez la tâche. Une ligne du type « Répondez sous forme de puces, en moins de 150 mots » fixe le format d’une exécution à l’autre.
  6. Joignez une image uniquement si nécessaire. L’option max_image_resolution est fixée par défaut à 0,5 mégapixel et réduit les images avant qu’elles n’atteignent le modèle, ce qui fait gagner du temps et de l’argent.
  7. Générez le résultat et copiez-le dans votre session Claude Code.

Les réglages qui économisent des tokens

RéglageValeur par défautGeste d’économie
effortlowGardez low pour les résumés et les réécritures
max_tokens8192Abaissez-le pour correspondre à la taille de la réponse souhaitée
max_image_resolution0,5 mégapixelGardez-le bas, sauf si les détails fins comptent
system_promptvideDéfinissez une règle de format courte une fois et réutilisez-la

Pour les tâches de raisonnement plus complexes, comme planifier un refactoring sur de nombreux fichiers, Claude Fable 5 et Claude Opus 4.7 sont disponibles sur la même plateforme, ce qui vous permet de comparer la façon dont chacun traite la même entrée allégée.

Mettre tout cela en pratique sur PicassoIA

Voici l’ensemble du plan sur une page, classé par effort et gain :

CorrectifEffortGain typique
Lancer /context et noter une référence2 minutesMontre où partent les tokens
Désactiver ou supprimer les serveurs inactifs5 minutesSouvent le gain le plus important
Limiter les serveurs avec .mcp.json10 minutesEmpêche les serveurs globaux de se charger partout
Remplacer les serveurs légers par des CLI15 minutesSupprime totalement les définitions
Activer la recherche d’outils2 minutesForte réduction pour les grands ensembles de serveurs
Abaisser MAX_MCP_OUTPUT_TOKENS1 minuteProtège contre les réponses incontrôlées
Sous-agents pour les travaux bruyants20 minutesGarde la fenêtre principale propre
/compact aux points de rupture, /clear entre les tâchesEn continuEmpêche le dépassement en pleine tâche

Commencez par les deux premières lignes aujourd’hui. Elles prennent moins de dix minutes et libèrent souvent une place étonnante.

Une fois votre fenêtre de nouveau dégagée, mettez-la au service de quelque chose de créatif. Ouvrez PicassoIA, choisissez un modèle d’image comme GPT Image 2 ou P-Image, et générez votre première image à partir d’une simple phrase. Animez-la ensuite avec Seedance 2.5 Lite ou PicassoIA Video. Testez votre propre idée, modifiez un détail du prompt et observez à quel point le résultat change. C’est le moyen le plus rapide de voir ce que ces modèles savent faire, et chaque essai est une bonne raison de garder votre contexte léger.

Partager cet article

Choisissez votre langue