ServicesÀ proposNotesContact Me contacter →
EN FR
Note

Surcharge de la fenêtre de contexte MCP

Le coût concret en tokens des définitions d'outils MCP dans la fenêtre de contexte d'un LLM — mesures d'Anthropic et de praticiens, et pourquoi cela importe pour les sessions longues.

Planté
mcpclaude codeaicost optimization

Chaque serveur MCP que vous connectez à Claude Code ou Claude Desktop charge ses définitions d’outils dans la fenêtre de contexte du modèle avant le début de la conversation. Ces définitions décrivent le nom, la description, les paramètres et la sortie attendue de chaque outil. Le modèle en a besoin pour savoir quels outils sont disponibles et comment les appeler. Mais elles consomment des tokens qui pourraient autrement contenir l’historique de conversation, du contexte de code, ou du raisonnement.

C’est la taxe token MCP : un coût fixe payé en amont avant le premier message utilisateur, plus des coûts par opération qui s’accumulent au fil d’une session.

Mesures de la surcharge

Tests internes d’Anthropic

Les mesures propres d’Anthropic ont révélé qu’une configuration MCP modérée — 58 outils répartis sur 5 serveurs MCP — consommait environ 55 000 tokens avant le début de la conversation. Uniquement pour les définitions d’outils, sans contenu conversationnel.

Dans des configurations plus agressives, les définitions d’outils seules consommaient 134 000 tokens. Sur la fenêtre de contexte de 200 000 tokens de Claude, c’est 67 % de l’espace disponible utilisé avant même la première question. Le modèle dispose d’environ 66 000 tokens pour les prompts système, l’historique de conversation, le contenu des fichiers et le raisonnement.

Mesures réelles dans Claude Code

Un praticien a documenté sa configuration Claude Code avec 7 serveurs MCP et a détaillé l’allocation de tokens :

ComposantTokens% de la fenêtre 200K
Prompt système2 7001,4 %
Outils intégrés14 4007,2 %
Outils MCP67 30033,7 %
Total avant conversation84 40042,2 %

Même en réduisant à 3 serveurs essentiels, la surcharge atteignait encore 42 600 tokens (21,3 % du contexte). Pour les workflows de data engineering qui nécessitent des sessions longues — exploration de schémas, profilage de données, itération sur des transformations, débogage de pipelines — perdre un cinquième ou plus de la fenêtre de contexte aux définitions d’outils est une contrainte significative.

BigQuery MCP Toolbox spécifiquement

L’ensemble complet d’outils du BigQuery MCP Toolbox représente environ 2 000 à 5 000 tokens pour les définitions d’outils. C’est modeste par rapport aux configurations multi-serveurs, mais reste significatif quand on considère qu’une commande bq query occupe 15 à 30 tokens. La surcharge MCP pour la définition d’un seul outil dépasse souvent le coût d’exécution d’une commande CLI qui accomplit la même chose.

Le coût par opération

Au-delà des définitions initiales, chaque appel d’outil MCP a son propre coût en tokens :

Coût MCP par opération : ~150-250 tokens par appel d’outil. Cela inclut la requête JSON structurée, la réponse de l’outil (qui transite par la fenêtre de contexte) et le traitement de cette réponse par le modèle.

Coût CLI par opération : ~40-60 tokens par commande. La commande elle-même est compacte, et la sortie se transmet directement sans encapsulation JSON structurée.

Pour une session typique d’exploration de schéma — listage de tables, vérification des schémas de 4 tables, exécution de requêtes de profilage — la comparaison ressemble à ceci :

ApprocheSurcharge définitions d’outilsCoût par opérationTotal (4 tables + profilage)
CLI0 token~40-60 tokens/commande~300-400 tokens
MCP2 000-5 000 tokens~150-250 tokens/appel~3 000-6 500 tokens

Pour une exploration de schéma simple, le CLI l’emporte en efficacité token d’un ordre de grandeur. L’écart se réduit pour des workflows complexes multi-étapes où les réponses structurées de MCP simplifient le traitement en aval, mais il ne disparaît jamais complètement.

Pourquoi cela importe

La fenêtre de contexte comme ressource rare

La fenêtre de contexte est la mémoire de travail du modèle. Tout ce que le modèle sait sur la conversation en cours, la base de code, le problème et les outils disponibles doit tenir dans cette fenêtre.

Quand les définitions d’outils MCP consomment 20 à 40 % du contexte disponible, le modèle dispose proportionnellement de moins d’espace pour :

  • L’historique de conversation. Les sessions plus longues signifient que les messages les plus anciens sont supprimés plus tôt. Les instructions données au début de la conversation peuvent sortir du contexte.
  • Le contexte de code. Moins de place pour contenir le contenu des fichiers, ce qui signifie que le modèle devra peut-être relire les fichiers plus souvent ou travailler avec moins de code environnant.
  • Le raisonnement. La chaîne de pensée du modèle est en compétition pour le même budget de tokens. Plus de surcharge signifie moins de place pour le raisonnement complexe sur votre requête ou tâche.

Effet composé dans les sessions longues

Les sessions de data engineering tendent à être longues. Vous pourriez explorer un dataset, écrire une transformation, la tester, itérer sur la logique, puis documenter les résultats — tout en une seule conversation. Sur une session de 30 minutes avec des dizaines d’opérations, la surcharge par opération s’accumule :

  • 20 opérations CLI : ~800-1 200 tokens au total
  • 20 opérations MCP : ~3 000-5 000 tokens au total (plus 2 000-5 000 en amont)

La différence de 5x à 10x signifie que l’approche MCP consomme une portion significative de la fenêtre de contexte sur les seules interactions d’outils. En pratique, cela se manifeste par le fait que le modèle « oublie » les parties antérieures de la conversation plus tôt, ou doit être rappelé à des décisions déjà prises.

Implications en termes de coûts

Pour Claude Code avec une tarification à l’usage, les tokens consommés par les définitions d’outils MCP et les interactions d’outils sont facturés comme n’importe quel autre token d’entrée. La surcharge n’est pas gratuite en termes monétaires non plus. Cela s’additionne au coût BigQuery des requêtes elles-mêmes — MCP ne coûte pas seulement plus de tokens, il peut aussi déclencher plus de requêtes si le modèle a besoin de contexte supplémentaire qui a été évincé de la fenêtre.

Stratégies d’atténuation

Minimiser les serveurs connectés. Connectez uniquement les serveurs MCP que vous utiliserez activement dans la session en cours. Les définitions d’outils de chaque serveur sont chargées quelle que soit leur utilisation. Trois serveurs avec 5 outils chacun représentent 15 définitions d’outils en compétition pour le contexte ; si vous n’avez besoin que d’un seul serveur, déconnectez les autres.

Préférer le CLI pour les opérations simples. Utilisez le CLI pour l’exploration rapide (listage de tables, vérification de schémas, exécution de requêtes ad hoc) et réservez MCP aux opérations qui bénéficient réellement de réponses structurées ou de contrôles de sécurité.

Utiliser des configurations hybrides. Claude Code prend en charge simultanément l’accès MCP et CLI. Configurez MCP pour les outils où les réponses structurées ou les pistes d’audit importent, et autorisez les commandes CLI pour tout le reste :

{
"mcpServers": {
"bigquery": {
"command": "npx",
"args": ["-y", "@toolbox-sdk/server", "--prebuilt", "bigquery", "--stdio"]
}
},
"permissions": {
"allow": [
"Bash(bq *)",
"Bash(gcloud *)"
]
}
}

Commencer de nouvelles conversations pour de nouvelles tâches. Plutôt que d’exécuter une longue session qui accumule la surcharge MCP, commencez des conversations fraîches pour des tâches distinctes. Chaque nouvelle conversation réinitialise la fenêtre de contexte (bien que vous payiez à nouveau le coût initial des définitions d’outils).

Surveiller les symptômes d’épuisement du contexte. Si le modèle commence à oublier des instructions antérieures, à répéter des questions déjà posées, ou à perdre le fil des objectifs de la conversation, la pression de la fenêtre de contexte due à la surcharge MCP peut être un facteur contributif. Réduire les serveurs connectés ou passer au CLI pour le reste de la session peut aider.