Coût MCP : Ce que les serveurs Model Context Protocol ajoutent en tokens
MCP est gratuit, mais chaque serveur connecté injecte ses schémas d'outils dans chaque requête. Cet article mesure ce surcoût, montre ce que dix serveurs font à un run de 12 étapes sur quatre modèles, et donne quatre façons de le réduire.
Le texte de l'article comporte la date de vérification. Le tableau des tarifs ci-dessous est reconstruit à partir du catalogue en direct à chaque déploiement.
Victoire la plus rapide
Un seul serveur MCP exposant environ 25 outils injecte entre 3,000 et 8,000 tokens de schéma JSON estimés dans chaque requête, avant même que le modèle ait lu la tâche. Connectez-en dix et vous renvoyez environ 50,000 tokens par étape. Sur Claude Sonnet 5, cela transforme un run de douze étapes à $0.39 en environ $1.53. Comptez la liste d'outils avec le compteur de tokens du fournisseur avant de connecter quoi que ce soit.
La réponse courte sur le coût MCP
MCP lui-même ne coûte rien. Le Model Context Protocol, ses SDK et la plupart des serveurs communautaires sont gratuits. Ce que vous payez, ce sont les tokens : les définitions d'outils de chaque serveur connecté sont injectées dans chaque requête, et un serveur avec environ 25 outils ajoute environ 3,000 à 8,000 tokens de schéma. Dix serveurs représentent environ 50,000 tokens par étape. Sur la référence d'exécution en 12 étapes, cela fait passer Claude Sonnet 5 de $0.39 à environ $1.53, GPT-5.4 de $0.50 à environ $1.93, Gemini 3.8 Flash de $0.15 à environ $0.58 et DeepSeek V4.1 Flash d'environ $0.06 à environ $0.23.
Ces chiffres sont avant la mise en cache des prompts. Avec la mise en cache, l'exécution de Sonnet 5 revient à environ $0.36. La suite de cet article montre d'où viennent les chiffres et quels leviers les font varier.
D'où viennent les tokens
Un client MCP appelle le tools/list de chaque serveur au démarrage et convertit le résultat dans le format d'outil du fournisseur du modèle. Chaque outil devient un nom, une description et un schéma JSON pour ses arguments. Ce bloc est envoyé avec chaque appel de modèle, que le modèle utilise l'outil ou non, car le modèle ne peut pas appeler ce qu'il ne voit pas.
Deux choses rendent cela coûteux plutôt que simplement désordonné. Premièrement, les schémas sont verbeux : un serveur de base de données qui documente chaque colonne, ou un serveur de navigateur avec vingt actions de navigation, peut représenter plusieurs milliers de tokens à lui seul. Deuxièmement, une boucle d'agent renvoie tout le contexte à chaque étape, donc le coût du schéma est payé une fois par étape, pas une fois par run. Les mécanismes de ce renvoi sont couverts dans [combien coûte l'exécution d'un agent IA](/guides/how-much-does-an-ai-agent-cost-to-run).
Mesurez un serveur avant de le connecter
Ne faites pas d'estimation. Demandez au compteur de tokens du fournisseur la requête avec et sans la liste d'outils ; la différence est le surcoût de schéma pour ce serveur. Cet extrait TypeScript récupère les outils d'un serveur via MCP, les convertit au format d'outil d'Anthropic et évalue le surcoût par étape sur Claude Sonnet 5 :
import Anthropic from "@anthropic-ai/sdk";
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
const anthropic = new Anthropic();
export async function toolListCost(mcp: Client, system: string) {
const { tools } = await mcp.listTools();
const anthropicTools: Anthropic.Tool[] = tools.map((t) => ({
name: t.name,
description: t.description ?? "",
input_schema: t.inputSchema as Anthropic.Tool["input_schema"],
}));
const probe = [{ role: "user" as const, content: "ping" }];
const withTools = await anthropic.messages.countTokens({
model: "claude-sonnet-5", system, tools: anthropicTools, messages: probe,
});
const noTools = await anthropic.messages.countTokens({
model: "claude-sonnet-5", system, messages: probe,
});
const schemaTokens = withTools.input_tokens - noTools.input_tokens;
// Sonnet 5: $2 per 1M uncached, roughly $0.20 per 1M as a cache read
const perStepUSD = (schemaTokens * 2) / 1_000_000;
return { schemaTokens, perStepUSD, perStepCachedUSD: perStepUSD / 10 };
}Exécutez-le une fois par serveur et conservez les chiffres dans la configuration de l'agent. Un serveur qui coûte 6,000 tokens par étape et qui est appelé sur 2% des runs est un bon candidat pour être supprimé.
Les résultats des outils sont la deuxième facture
Les schémas sont le coût fixe. Les résultats des outils sont le coût variable, et ils sont souvent plus importants. Une lecture de fichier, une page web ou un résultat SQL peuvent représenter 5 000 à 20 000 tokens. Une fois qu'un résultat entre dans la conversation, chaque étape ultérieure le renvoie.
Prenez la trace de référence (résultats de 1 500 tokens) et remplacez quatre des douze résultats par des dumps SQL de 15 000 tokens aux étapes 2, 4, 6 et 8. Chaque dump ajoute 13 500 tokens par rapport à la référence et est renvoyé à chaque étape suivante : 10 + 8 + 6 + 4 = 28 renvois, plus les quatre envois initiaux, soit 32 au total. Cela représente 13 500 × 32 = 432 000 tokens d'entrée supplémentaires, soit environ 0,86 $ sur Sonnet 5 à 2 $ par million, pour quatre requêtes qui auraient pu renvoyer un nombre de lignes et les vingt premières lignes.
Comment cela se multiplie au cours d'une exécution
Le run de référence est un préfixe de 4,000 tokens (1,500 système, 2,500 d'outils codés à la main), une tâche de 500 tokens, et douze étapes qui ajoutent chacune un appel d'outil de 300 tokens et un résultat de 1,500 tokens. L'entrée non mise en cache sur l'ensemble du run est de 172,800 tokens ; la sortie est de 4,800.
Remplacez les 2,500 tokens d'outils codés à la main par dix serveurs MCP d'environ 5,000 tokens chacun. Le préfixe devient 52,000 tokens et l'étape 12 envoie à elle seule 52,000 + 11 × 1,800 = 71,800 tokens. L'entrée sur l'ensemble du run est de 12 × 52,000 + 118,800 = 742,800 tokens, soit 4.3 fois la ligne de base pour exactement le même travail.
| Modèle ($/1M in / out) | Outils codés à la main, 12 étapes | 10 serveurs MCP, 12 étapes | 10 serveurs, mis en cache (lectures ~10%) |
|---|---|---|---|
| Claude Sonnet 5 ($2 / $10) | 172,800 × $2 + 4,800 × $10 = $0.39 | 742,800 × $2 + $0.048 = $1.53 | 71,800 × $2.50 + 671,000 × $0.20 + $0.048 = $0.36 |
| GPT-5.4 ($2.50 / $15) | 172,800 × $2.50 + 4,800 × $15 = $0.50 | 742,800 × $2.50 + $0.072 = $1.93 | 71,800 × $2.50 + 671,000 × $0.25 + $0.072 = $0.42 |
| Gemini 3.8 Flash ($0.75 / $3.75) | $0.15 | 742,800 × $0.75 + $0.018 = $0.58 | 71,800 × $0.75 + 671,000 × $0.19 + $0.018 = $0.20 plus stockage cache |
| DeepSeek V4.1 Flash ($0.30 / $1.20) | 172,800 × $0.30 + 4,800 × $1.20 = $0.058 | 742,800 × $0.30 + $0.006 = $0.23 | 71,800 × $0.30 + 671,000 × $0.006 + $0.006 = $0.03 |
La colonne mise en cache suppose que 71,800 tokens sont écrits une fois (le préfixe à l'étape 1 plus les 1,800 nouveaux tokens de chaque étape) et que 671,000 sont lus depuis le cache. La prime d'écriture est d'environ 125% chez Anthropic ; OpenAI et DeepSeek n'en ont pas. DeepSeek V4.1 Flash, nom d'API deepseek-flash, a remplacé V4 Flash, que DeepSeek a retiré. Les lignes DeepSeek utilisent les tarifs de pointe ; les heures creuses coûtent moitié moins. Les tarifs DeepSeek vérifiés le 2026-10-27 à l'adresse api-docs.deepseek.com. Tout dans cette colonne suit les règles décrites dans [mise en cache des prompts pour les agents IA](/guides/prompt-caching-for-ai-agents).
Quatre façons de réduire la surcharge MCP
- Moins de serveurs par agent. Donnez à chaque agent les deux ou trois serveurs dont sa tâche a besoin. Trois serveurs au lieu de dix réduit le préfixe de 52 000 à 17 000 tokens et l'exécution non mise en cache de Sonnet 5 de 1,53 $ à environ 0,69 $ (322 800 × 2 $ + 0,048 $).
- Filtrage des outils et chargement paresseux. Les SDK OpenAI Agents et Claude Agent acceptent tous deux une liste d'autorisation de noms d'outils par serveur MCP, de sorte qu'un serveur de 25 outils peut en présenter 4. L'API d'Anthropic propose également un outil de recherche d'outils avec
defer_loadingsur le reste, de sorte que les schémas ne sont récupérés dans le contexte que lorsque le modèle les recherche. Dans les deux cas, le modèle ne paie jamais pour un schéma qu'il n'appellera pas. - Tronquer les résultats à la source. Limitez chaque résultat d'outil à quelques milliers de tokens et renvoyez un indice tel que le nombre total de lignes, un décalage d'octets ou un "rappelez avec page=2". Quatre résultats SQL limités permettent d'économiser les 432 000 tokens calculés ci-dessus.
- Mettre en cache le préfixe. Les définitions d'outils sont rendues en premier et ne changent jamais, ce sont donc les tokens les plus faciles à mettre en cache dans la requête. Un point d'arrêt sur le dernier outil chez Anthropic, ou simplement un ordre d'outils stable chez OpenAI, convertit le coût du schéma en lectures de cache à environ 10 % du prix catalogue.
Faites les quatre. Ils se multiplient plutôt que de s'additionner : trois serveurs filtrés avec des résultats tronqués et un cache chaud donne une exécution où la surcharge MCP est inférieure à un centime.
Le modèle le moins cher qui fait encore cela, et quand payer pour le modèle phare
Pour un agent dont les outils MCP sont bien spécifiés et dont la tâche est claire, DeepSeek V4.1 Flash ($0.30 / $1.20) exécute la trace à dix serveurs pour environ $0.23 et Gemini 3.8 Flash pour environ $0.58. Selon notre expérience, les deux effectuent des appels d'outils structurés corrects lorsque le schéma est sans ambiguïté. Claude Haiku 5.5, sorti en octobre à $0.10 / $0.50, est moins cher en prix : 742,800 × $0.10 + 4,800 × $0.50 = environ $0.077, bien que nous ne l'ayons pas testé sur cette trace. Surveillez son palier de prix : le plus grand appel ici est de 71,800 tokens, mais ajoutez six serveurs supplémentaires (environ 30,000 tokens) et l'étape 12 atteint 52,000 + 30,000 + 19,800 = 101,800 tokens, où Haiku 5.5 facture toute la demande à $0.50 / $2.50. Comparez le champ plus large dans [LLM le moins cher pour les agents IA](/guides/cheapest-llm-for-ai-agents) et le [catalogue de modèles](/models).
Payez pour Claude Sonnet 5 ou GPT-5.4 lorsque l'agent doit choisir entre de nombreux outils similaires (dix serveurs signifient souvent plusieurs outils "search" et "read" qui se chevauchent) ou se remettre des erreurs d'outil sans humain. Un modèle bon marché qui choisit le mauvais serveur et boucle renvoie le préfixe de 52,000 tokens à chaque étape gaspillée, et à ce moment-là, le modèle phare est moins cher par tâche terminée. Claude Opus 5 à $5 / $25 est rarement justifié pour la plomberie d'outils ; réservez-le pour l'étape de planification, comme décrit dans [coût du système multi-agent](/guides/multi-agent-system-cost).
Comment plafonner les dépenses
Les grandes listes d'outils rendent les boucles incontrôlées coûteuses plus rapidement, donc les garde-fous comptent plus, pas moins :
max_tokenssur chaque appel, dimensionné pour un appel d'outil, pas pour un essai- Une limite d'étapes par exécution ; un agent de dix serveurs qui n'a pas terminé en 20 étapes est généralement confus, pas minutieux
- Une condition d'arrêt que le modèle peut déclencher explicitement
- Un plafond en dollars par exécution calculé à partir de
usagesur chaque réponse, incluant les tokens de lecture et d'écriture du cache, qui interrompt la boucle lorsqu'il est dépassé
L'article [token budget guardrails](/guides/ai-agent-token-budget-guardrails) contient le code d'exécution. Pour les spécificités par fournisseur sur la facturation des définitions d'outils, consultez [Claude agent API cost](/guides/claude-agent-api-cost), et utilisez le [calculator](/calculator) pour évaluer le coût de votre propre liste de serveurs une fois que vous l'avez mesurée.
Points clés
- →MCP n'a pas de frais de licence ; le coût est les schémas d'outils plus les résultats d'outils, tous deux facturés comme tokens d'entrée à chaque étape
- →Estimez 3K à 8K tokens par serveur avec ~25 outils ; dix serveurs représentent environ 50K tokens de préfixe
- →Dix serveurs transforment l'exécution de référence en 12 étapes de 0,39 $ à 1,53 $ sur Claude Sonnet 5 et de 0,50 $ à 1,93 $ sur GPT-5.4
- →Un résultat SQL de 15K tokens à l'étape 2 est renvoyé dix fois de plus ; quatre d'entre eux ajoutent environ 432K tokens d'entrée à une exécution
- →La mise en cache du prompt ramène l'exécution de dix serveurs Sonnet 5 à environ 0,36 $ ; moins de serveurs et la troncature des résultats s'ajoutent par-dessus
- →Filtrez les outils par agent et tronquez les résultats à la source ; le modèle ne devrait jamais voir un schéma qu'il n'appellera pas
Contexte éditorial
À qui cela s'adresse-t-il ?
Les équipes qui connectent des serveurs MCP aux agents Claude, OpenAI ou Gemini ont remarqué que la ligne des tokens d'entrée augmente plus vite que le travail.
Quand ne pas l'utiliser
Les utilisateurs de chat de bureau qui ajoutent un ou deux serveurs MCP à un produit par abonnement ; la surcharge y est payée par le fournisseur, pas par vous.
Aperçus sur les prix
Dix serveurs MCP ajoutent environ 50 000 tokens par étape ; sur une exécution de 12 étapes, cela représente 570 000 tokens d'entrée supplémentaires, soit environ 1,14 $ sur Claude Sonnet 5 avant la mise en cache.
Alternatives à considérer
Un ensemble d'outils écrit à la main des six outils que l'agent utilise réellement, la recherche d'outils Anthropic avec chargement différé, ou une étape de routage sur un modèle bon marché qui choisit les serveurs à attacher.
Verdict final
Connectez le moins de serveurs possible qui couvrent la tâche, filtrez leurs listes d'outils, tronquez les résultats et mettez en cache le préfixe. Faites ces quatre choses et la surcharge MCP devient une erreur d'arrondi.
Questions fréquemment posées
Est-ce que MCP coûte de l'argent ?
Le protocole et les SDK de référence sont open source et gratuits, et la plupart des serveurs MCP sont gratuits à exécuter. Ce qui coûte de l'argent, ce sont les tokens : les définitions d'outils de chaque serveur connecté sont envoyées en entrée à chaque appel de modèle, et chaque résultat d'outil revient dans le contexte. Vous payez le fournisseur du modèle pour ces tokens au tarif d'entrée normal.
Combien de tokens un serveur MCP ajoute-t-il à une requête ?
Cela dépend entièrement du serveur. Un serveur exposant environ 25 outils avec des schémas descriptifs représente environ 3 000 à 8 000 tokens ; un serveur de base de données avec des descriptions de colonnes riches peut être plus élevé. Mesurez-le avec le compteur de tokens du fournisseur plutôt que de deviner, car le nombre est renvoyé à chaque étape de l'exécution.
Pourquoi connecter plus de serveurs MCP rend-il mon agent plus lent et plus coûteux ?
Parce que la liste d'outils fait partie du prompt. Dix serveurs représentent environ 50 000 tokens que le modèle doit lire avant de regarder votre tâche, à chaque étape. C'est plus d'entrée que la tâche et tous ses résultats d'outils combinés pour une exécution typique de 12 étapes, et cela augmente également le temps jusqu'au premier token.
Est-ce que la mise en cache du prompt résout la surcharge MCP ?
En grande partie. Les définitions d'outils s'affichent au début du prompt et ne changent pas entre les étapes, elles sont donc un matériau de cache idéal. Sur Anthropic, placez un point d'arrêt cache_control sur le dernier outil ; sur OpenAI, le préfixe est mis en cache automatiquement. Les lectures du cache coûtent environ 10 % du prix de la liste, donc l'exécution de dix serveurs Sonnet 5 passe d'environ 1,53 $ à environ 0,36 $.
Quel est le modèle le moins cher pour un agent avec de nombreux outils MCP ?
En termes de prix, Claude Haiku 5.5 à $0.10 par million d'entrée exécute la trace à dix serveurs et 12 étapes pour environ $0.077, tant qu'aucun appel ne dépasse 100,000 tokens (au-dessus, cela coûte cinq fois plus) ; nous ne l'avons pas encore testé ici. Parmi les modèles que nous avons testés, DeepSeek V4.1 Flash à $0.30 par million d'entrée (pointe) coûte environ $0.23 et Gemini 3.8 Flash à $0.75 par million environ $0.58. Les deux gèrent de manière fiable les appels d'outils bien spécifiés. Passez à Claude Sonnet 5 ou GPT-5.4 lorsque l'agent doit choisir entre de nombreux outils similaires ou se remettre des erreurs.
Dois-je tronquer les résultats des outils MCP ?
Oui, au niveau du serveur ou dans le client avant que le résultat n'entre dans le contexte. Une lecture de fichier ou un résultat SQL peut représenter 5 000 à 20 000 tokens et chaque étape ultérieure le renvoie. Limitez les résultats à quelques milliers de tokens et renvoyez un indice comme le nombre de lignes ou un décalage pour que le modèle puisse en demander plus uniquement lorsque cela est nécessaire.
Related
Cours gratuits · sans inscription
Vous hésitez encore ? Apprenez d'abord les bases, puis revenez aux prix.