Ce lo chiedono in circa una discovery call su due: "Dobbiamo standardizzarci su A2A o MCP?"
La premessa della domanda è sbagliata. Non sono concorrenti. Risolvono problemi diversi a livelli diversi, e un sistema con agenti IA in salute usa entrambi.
A cosa serve MCP
MCP (Model Context Protocol) è uno standard per le superfici dei tool. Risponde alla domanda: come fa un agente basato su LLM a scoprire e chiamare tool che non fanno parte del suo addestramento? Recupero documenti, query a database, API calendario, servizi interni — ogni tool pubblica un MCP server, l'agente si connette, elenca le capability, invoca.
La forma è: un agente ↔ molti tool. Il tool è passivo; l'agente decide quando chiamarlo.
Con MCP ottiene: discovery dello schema, parametri tipizzati, return strutturati, confini di autenticazione, sandboxing. È, in sostanza, uno standard RPC pensato per i client agentici.
A cosa serve A2A
A2A (Agent-to-Agent protocols, di cui ne esistono diversi — A2A di Google, AGNTCY, altri) è uno standard per la collaborazione tra agenti. Risponde alla domanda: come fanno più agenti semi-autonomi a coordinarsi, passarsi sottocompiti e aggregare risultati?
La forma è: agente ↔ agente, con stato. Entrambi i lati hanno i propri loop di reasoning. I passaggi di consegne includono contesto, risultati intermedi, talvolta la titolarità di un sottocompito.
Con A2A ottiene: agent card (pubblicazione delle capability), cicli di vita dei task, message passing, streaming opzionale e human-in-the-loop. Non è RPC — è più vicino a un sistema di attori tipizzato.
Perché la confusione
In entrambi i casi degli agenti parlano con qualcosa tramite un protocollo con payload strutturati. Entrambi producono JSON. Entrambi hanno ruoli client e server. Da 30.000 piedi sembrano la stessa cosa.
Ma la distinzione vera è il livello di autonomia di ciascun lato:
- MCP server: passivo. Risponde alle chiamate. Non ha un proprio loop di reasoning.
- A2A agent: attivo. Può rifiutare task, proporre alternative, passare il lavoro ad altri agenti, chiedere chiarimenti.
Se l'altro lato è "recupera questa riga da un database", è MCP. Se l'altro lato è "indaga questa anomalia e mi dica cosa scopre", è A2A.
L'architettura che funziona davvero
In ogni sistema multi-agente che abbiamo rilasciato, la suddivisione è questa:
- In cima allo stack: un orchestratore (spesso esso stesso un agente) instrada le richieste dell'utente verso agenti specialisti.
- Gli agenti specialisti comunicano via A2A. I passaggi di consegne preservano il contesto; i supervisori tracciano lo stato dei task.
- Gli specialisti usano i tool via MCP. L'agente di retrieval ha una connessione MCP a un vector DB e una connessione MCP a un servizio di ricerca fulltext. L'"ops agent" ha una connessione MCP a un sistema di ticketing.
A2A è il modo in cui gli agenti si coordinano. MCP è il modo in cui ogni agente agisce.
La conclusione pragmatica
Adotti MCP per primo — risolve il problema più immediato (parlare con i tool), oggi ha l'ecosistema più ampio (la maggior parte dei provider LLM rilascia supporto nativo a MCP), e il percorso di upgrade da "chiamate ad-hoc ai tool" a MCP è lineare.
Adotti A2A quando ha più di un agente che deve passarsi il lavoro. Se il suo sistema ha un singolo agente + molti tool, A2A è eccessivo — non sta coordinando nessuno. Nel momento in cui aggiunge un secondo agente specialista che deve parlare con il primo, A2A inizia a ripagarsi.
Non scelga. Li sovrapponga.