Overhead MCP misurato: 26 tool, $0.03 per chiamata
Indice
Collegare un server MCP al proprio agent comporta un costo per chiamata ancora prima che succeda qualsiasi cosa: i 26 tool del server GitHub costano $0.0302 per ogni singola chiamata a Claude Opus 4.8, anche quando non viene usato alcun tool. Il meccanismo resta invisibile finché non si guarda il contatore. Il costo dipende più dal modello in uso che dal numero di tool collegati, ma in gran parte può essere recuperato. Abbiamo misurato l’intera catena: cinque famiglie di modelli, cinque server MCP reali, serie sintetiche da 0 a 40 tool e le tecniche di caching e riduzione che permettono di abbassare la spesa.
TL;DR
- Le definizioni dei tool vengono fatturate di nuovo come token di input a ogni chiamata API; un singolo tool di piccole dimensioni ha richiesto 401 token su Claude Opus 4.8.
- Lo stesso set di tool usa 2.7x più token su Claude che su GPT-5.6 (173 contro 64 per tool nelle nostre misurazioni).
- Il server MCP GitHub reale (26 tool) costa $0.0302 per chiamata su Opus 4.8 contro $0.0029 su Gemini 3.6 Flash: una differenza di 10x.
- Il caching esplicito riduce a un decimo il costo del blocco trasmesso, ma i set di tool sotto la soglia minima non possono essere messi in cache e la modifica di un solo tool fa rifatturare l’intero blocco.
Come si trasforma un server MCP in token di input?
La catena ha tre fasi. Solo l’ultima costa, ma il costo si ripete a ogni chiamata. Prima va chiarito l’ambito: i server MCP espongono tre primitive, tool, risorse e prompt. Solo i tool hanno un costo fisso, perché l’API prevede un parametro tools che deve contenere tutti gli schema a ogni richiesta. Risorse e prompt non hanno un campo API dedicato; consumano token soltanto quando il loro contenuto viene effettivamente inserito nella conversazione. Nella fase 1 interviene il protocollo MCP: il client dell’agent chiama tools/list sul server tramite JSON-RPC e riceve gli schema. Succede una volta per sessione e il modello non viene coinvolto. Nella fase 2 il client converte gli schema nel parametro tools dell’API, eliminando i campi specifici di MCP come annotations e outputSchema. Anche questa fase è gratuita. Nella fase 3 il provider converte gli schema in testo nascosto del prompt a ogni richiesta. L’API è stateless e il modello non può ricordare quali tool esistono. Il testo generato viene fatturato alla tariffa piena dell’input a ogni chiamata, indipendentemente dall’uso dei tool.

Ecco la dimostrazione più semplice: su Opus 4.8, una richiesta con il solo messaggio utente “Reply OK” costa 11 prompt token. Aggiungendo un modesto tool get_weather, con due parametri e una descrizione di una riga, la stessa richiesta arriva a 412 token. Quel singolo tool aggiunge 401 token e $0.002 a ogni chiamata in cui viene incluso. La differenza rispetto ai dati inviati è notevole: il JSON del tool contiene solo circa 130 token di testo, ma la rappresentazione generata dal provider quasi triplica il totale.
Quanto costa un tool su ciascun modello?
Il modello incide molto più di quanto si aspetti la maggior parte dei team. Abbiamo inviato set sintetici di tool identici, ciascuno con tre parametri e una descrizione di una riga, in quantità da 0 a 40 attraverso cinque famiglie di modelli. Queste sono le differenze fatturate:
| Modello | Overhead fisso (tool attivi) | Costo marginale per tool | 40 tool identici |
|---|---|---|---|
| Claude Opus 4.8 | 290 | 173 | 7,210 |
| GLM 5.2 | 96 | 120 | 4,896 |
| Kimi K3 | 37 | 99 | 3,997 |
| Gemini 3.6 Flash | ≈0 | 72 | 2,871 |
| GPT-5.6 Terra | 98 | 64 | 2,658 |
A parità di tool, la differenza è di 2.7x: Claude genera la struttura di supporto più verbosa del gruppo, mentre GPT-5.6 è il più conciso. Anche il rapporto con il JSON inviato varia nelle due direzioni: Claude fattura circa 1.36x rispetto a una stima approssimativa ottenuta dividendo per quattro i byte del payload, mentre GPT-5.6 e Gemini ne fatturano circa la metà. Il numero di token dei blocchi di tool non è trasferibile da una famiglia all’altra. Il budget va quindi calcolato per modello, non per schema.
Quanto costano i server MCP reali per chiamata?
La tabella seguente riporta cinque server reali e non modificati del repository MCP ufficiale. Li abbiamo convertiti usando la mappatura standard dei campi e ne abbiamo misurato l’overhead trasmesso a ogni chiamata:
| Server MCP (tool) | Opus 4.8 | GPT-5.6 Terra | Gemini 3.6 Flash | Kimi K3 | GLM 5.2 |
|---|---|---|---|---|---|
| GitHub (26) | 6,043 tok / $0.0302 | 2,076 / $0.0052 | 1,931 / $0.0029 | 3,152 / $0.0095 | 4,077 / $0.0022 |
| Filesystem (14) | 2,785 / $0.0139 | 1,254 / $0.0031 | 1,200 / $0.0018 | 1,574 / $0.0047 | 1,772 / $0.0010 |
| Everything (13) | 1,942 / $0.0097 | 798 / $0.0020 | 663 / $0.0010 | 970 / $0.0029 | 1,176 / $0.0006 |
| Memory (9) | 1,670 / $0.0083 | 554 / $0.0014 | 491 / $0.0007 | 815 / $0.0024 | 1,057 / $0.0006 |
| Sequential-thinking (1) | 1,764 / $0.0088 | 912 / $0.0023 | 815 / $0.0012 | 870 / $0.0026 | 1,015 / $0.0006 |
L’ultima riga contiene due indicazioni importanti. Sequential-thinking espone un solo tool, ma su quattro delle cinque famiglie costa comunque più dei nove tool di Memory, perché la sua unica descrizione è enorme: la metrica corretta non è il numero di tool, ma la dimensione del testo generato. La prima riga è invece quella che sorprende chi sviluppa agent: trasmettere il set di tool di GitHub per un’esecuzione dell’agent composta da 10 chiamate costa $0.30 su Opus 4.8 e $0.03 su Gemini, una differenza di un intero ordine di grandezza, prima ancora che inizi il lavoro effettivo. GLM 5.2 costa ancora meno in dollari, pur fatturando più del doppio dei token di Gemini. Una tariffa base ridotta compensa una rappresentazione verbosa, quindi token e dollari vanno preventivati separatamente.
Quanti tool usa davvero un agent?
In ogni chiamata ne usa solo una piccola parte, ed è questo a rendere il costo difficile da accettare. Nello scenario dedicato ai tool della nostra suite per agent, un set di 8 tool viene trasmesso in tutte e tre le chiamate di un’esecuzione tipica, anche se ciascuna ne invoca al massimo uno. Ogni chiamata paga quindi otto schema per usarne uno. Con le tariffe misurate su Opus 4.8, quel blocco da 8 tool occupa circa 1,674 token per chiamata, per un totale di circa 5,000 token per esecuzione dovuti esclusivamente al trasporto degli schema. Lo scenario con tool loop è il caso più favorevole: tre tool usati in quasi tutte le chiamate. Anche in questo caso, però, il blocco viene ritrasmesso in tutte le quattro o cinque chiamate del loop. I dati mostrano una regola generale: raramente viene usato più di un tool per chiamata. Il costo per chiamata del set di tool dipende quindi da ciò che è stato collegato, non da ciò che l’agent fa.
Il caching può assorbire il costo dei tool?
In gran parte sì, sui modelli giusti, ma abbiamo rilevato tre limiti netti. Su Claude Opus 4.8, il blocco dei tool è un prefisso che può essere messo in cache direttamente: marcando l’ultimo tool con cache_control, il nostro blocco da 20 tool è stato scritto una volta sola (3,682 token con il sovrapprezzo di scrittura di 1.25x). Tutte le chiamate successive lo hanno letto a 0.1x, riducendo del 90% il costo effettivo di trasporto. Il caching automatico di Kimi K3 ha fatto ancora meglio senza alcuna configurazione: alla seconda chiamata, 2,048 dei 2,112 token del blocco, pari al 97%, provenivano dalla cache nei consueti blocchi da 256 token. Nelle nostre misurazioni del primo giorno su questa famiglia, i breakpoint espliciti di GPT-5.6 applicano la stessa struttura tariffaria: scritture a 1.25x e letture a 0.1x. La cache implicita di Gemini, coerentemente con tutto ciò che abbiamo già misurato, non ha prodotto alcun hit in tre test preparati sul blocco dei tool. Un eventuale sconto va considerato un rimborso occasionale, non qualcosa su cui basare il budget.
Ecco i limiti. Il primo è la soglia minima: un blocco da 2 tool occupa circa 655 token su Claude, meno dei 1,024 token minimi per la cache. I set piccoli non possono quindi essere messi in cache nemmeno se marcati esplicitamente; sono le soglie dei singoli modelli a determinare se questa opzione è disponibile. Il secondo è la volatilità: il blocco dei tool si trova all’inizio del prompt, quindi qualsiasi modifica all’elenco invalida anche tutto ciò che segue. Abbiamo misurato direttamente il costo: l’aggiunta di un tool a un set di 20 tool già in cache su Claude Opus 5 ha riscritto l’intero blocco da 4,082 token con il sovrapprezzo di scrittura. L’elenco dei tool deve rimanere invariato per tutta la sessione, altrimenti ogni modifica comporta una nuova scrittura. Il terzo limite è proprio questo requisito di immutabilità. La beta di Anthropic che consente di modificare i tool durante la conversazione, documentata per Opus 5, serve a superarlo: permette di cambiare i tool tra un turno e l’altro senza invalidare la cache. È la funzionalità da seguire per gli agent che usano molti tool.
Come si riduce il blocco dei tool?
Conviene tagliare i parametri prima del testo descrittivo. Nel nostro blocco da 20 tool, ridurre ogni descrizione a una singola frase concisa ha fatto risparmiare il 10%; passare da tre parametri a uno per tool ha fatto risparmiare il 34%; applicando entrambe le modifiche, il risparmio è stato del 44% (da 3,768 a 2,128 token). I token si concentrano negli schema dei parametri, tra nomi, tipi e descrizioni annidate. Questo capovolge l’istinto abituale di perfezionare le descrizioni lasciando crescere gli schema senza controllo.
La misura più efficace resta non collegare ciò che non verrà usato. Ogni server MCP aggiunge il proprio blocco completo a ogni chiamata; una seconda riga di configurazione può raddoppiare il costo. Se il client supporta il filtraggio, registrare solo una parte dei tool di un server riduce l’overhead in modo pressoché proporzionale: mantenendo 5 dei 26 tool del server GitHub, i $0.0302 di Opus 4.8 scendono a una stima di $0.007, calcolata sulla dimensione media dei tool del server. Per chi usa modelli di più famiglie resta valida la differenza di 2.7x riportata sopra: spostare lo stesso agent da Gemini a Claude senza rivedere il budget quasi triplica i token necessari a trasportare i tool.
Domande frequenti
MCP aggiunge di per sé un costo in token?
No. Il protocollo MCP, la discovery, JSON-RPC e l’infrastruttura per l’invocazione dei tool non coinvolgono mai il modello e non comportano alcun costo. La spesa compare quando il client inoltra gli schema del server nel parametro tools dell’API. Il provider li converte nuovamente in testo del prompt fatturato a ogni chiamata. MCP incide sulla scala: ha reso possibile collegare 26 tool con una sola riga, ma da quel momento 26 schema vengono trasmessi a ogni chiamata.
I tool inutilizzati hanno un costo?
Sì, esattamente quanto quelli utilizzati. A ogni chiamata il modello deve leggere tutti gli schema per sapere quali tool può invocare. Nei dati della nostra suite per agent, ogni chiamata invoca al massimo un tool, ma ogni volta viene fatturato l’intero set. Un server collegato ma inattivo genera esclusivamente un costo di trasporto. Il caching può ridurlo, ma per eliminarlo bisogna ridurre i tool o scollegare il server.
Le risorse e i prompt MCP consumano token come i tool?
No. Solo i tool hanno un costo di trasporto per chiamata, perché il parametro tools ritrasmette tutti gli schema a ogni richiesta. Le risorse vengono fatturate soltanto quando il client ne legge una e ne inserisce il contenuto nella conversazione. A quel punto si tratta di un normale input, con lo stesso prezzo di qualsiasi documento recuperato, e valgono le stesse regole di suddivisione in livelli: il contenuto volatile delle risorse va inserito dopo i breakpoint della cache. Anche i template dei prompt vengono fatturati solo quando vengono invocati, in base al testo che producono. Le risorse e i prompt inutilizzati di un server collegato non costano nulla. Quando un’integrazione MCP compare in fattura, bisogna quindi controllare per prima cosa i tool.
La modifica dell’elenco dei tool invalida la prompt cache?
Sì, completamente. Il blocco dei tool viene generato all’inizio del prompt, quindi qualsiasi modifica riscrive quel blocco e tutto ciò che è memorizzato in cache dopo di esso. Abbiamo misurato l’aggiunta di un solo tool: ha fatto rifatturare un blocco da 4,082 token con il sovrapprezzo di 1.25x. Conviene mantenere fisso l’elenco dei tool per ogni sessione e raggruppare le modifiche. Va inoltre seguita la beta di Anthropic per le modifiche dei tool durante la conversazione, progettata per eliminare proprio questo costo su Opus 5.
Misurazioni effettuate il 2026-07-31 tramite il gateway Synthorai: serie sintetiche di tool (0-40 tool, n=2) e cinque set di tool provenienti da server MCP reali (schema acquisiti in tempo reale dai server ufficiali tramite JSON-RPC tools/list) su cinque famiglie di modelli; test di caching con prefissi casuali e dettaglio della cache per singola chiamata; utilizzo degli agent ricavato dai dati della suite alla base dei nostri studi sui costi degli agent. I moltiplicatori del caching di GPT-5.6 provengono dalle misurazioni della nostra analisi dei costi pubblicata il primo giorno. Gli importi in dollari sono differenze nei costi fatturati rilevate dal contatore del gateway, che applica le tariffe di listino per l’input. Tariffe e modalità di rendering possono cambiare; verificatele sui vostri dati di utilizzo.