Che cos'è l'MCP e come funziona?

I modelli linguistici di grandi dimensioni (LLM) sono potenti, ma presentano due limiti principali: le loro conoscenze sono congelate al momento dell'addestramento e non possono interagire con il mondo esterno. Ciò significa che non possono accedere ai dati in tempo reale o eseguire azioni come prenotare una riunione o aggiornare la scheda di un cliente. 

Il Model Context Protocol (MCP) è uno standard aperto progettato per risolvere questo problema. Introdotto da Anthropic nel novembre 2024, MCP fornisce un "linguaggio" sicuro e standardizzato per la comunicazione degli LLM con dati, applicazioni e servizi esterni. Funziona da ponte, consentendo all'AI di andare oltre la conoscenza statica e diventare un agente dinamico in grado di recuperare informazioni aggiornate e intraprendere azioni, rendendola più accurata, utile e automatizzata.

Comprendere il Model Context Protocol

L'MCP crea una connessione bidirezionale standardizzata per le applicazioni di AI, consentendo agli LLM di connettersi facilmente a varie origini dati e strumenti. MCP si basa su concetti esistenti come l'uso degli strumenti e la chiamata di funzioni, ma li standardizza. Ciò riduce la necessità di connessioni personalizzate per ogni nuovo modello di AI e sistema esterno. Consente agli LLM di utilizzare dati attuali e reali, eseguire azioni e accedere a funzionalità specializzate non incluse nella loro formazione originale.

Architettura e componenti MCP

Il Model Context Protocol ha una struttura chiara con componenti che funzionano insieme per aiutare gli LLM e i sistemi esterni a interagire facilmente.

Host MCP

L'LLM è contenuto all'interno dell'host MCP, un'applicazione o un ambiente di AI come un IDE basato sull'AI o un'AI conversazionale. Questo è in genere il punto di interazione dell'utente, in cui l'host MCP utilizza l'LLM per elaborare le richieste che potrebbero richiedere dati o strumenti esterni.

Client MCP

Il client MCP, che si trova all'interno dell'host MCP, aiuta l'LLM e il server MCP a comunicare tra loro. Traduce le richieste dell'LLM per l'MCP e converte le risposte dell'MCP per l'LLM. Trova e utilizza anche i server MCP disponibili.

Server MCP

Il server MCP è il servizio esterno che fornisce contesto, dati o funzionalità all'LLM. Aiuta gli LLM a connettersi a sistemi esterni come database e servizi web, traducendo le loro risposte in un formato che l'LLM può comprendere, il che aiuta gli sviluppatori a fornire funzionalità diverse.

Livello di trasporto

Il livello di trasporto utilizza messaggi JSON-RPC 2.0 per comunicare tra client e server, principalmente attraverso due metodi di trasporto:

  • Standard input/output (stdio): funziona bene per le risorse locali, offrendo una trasmissione rapida e sincrona dei messaggi
  • Server-sent events (SSE): preferiti per le risorse remote, consentono flussi di dati efficienti e in tempo reale

Come funziona l'MCP?

Nella sua essenza, il Model Context Protocol consente a un LLM di richiedere l'aiuto di strumenti esterni per rispondere a una query o completare un'attività. Immagina di chiedere a un assistente AI: "Trova l'ultimo report sulle vendite nel nostro database e invialo via email al mio responsabile".

Ecco una visione semplificata di come MCP gestirebbe questa situazione:

  1. Richiesta e scoperta dello strumento: l'LLM comprende di non poter accedere a un database o inviare email da solo. Utilizza il client MCP per cercare gli strumenti disponibili, dove trova due strumenti pertinenti registrati sui server MCP: uno strumento database_query e uno strumento email_sender.
  2. Chiamata dello strumento: l'LLM genera una richiesta strutturata per utilizzare questi strumenti. Innanzitutto, chiama lo strumento database_query, specificando il nome del report. Il client MCP invia quindi questa richiesta al server MCP appropriato.
  3. Azione esterna e restituzione dei dati: il server MCP riceve la richiesta, la traduce in una query SQL sicura per il database dell'azienda e recupera il report sulle vendite. Quindi formatta questi dati e li invia nuovamente all'LLM.
  4. Generazione della seconda azione e della risposta: ora che dispone dei dati del report, l'LLM chiama lo strumento email_sender, fornendo l'indirizzo email del manager e il contenuto del report. Dopo l'invio dell'email, il server MCP conferma che l'azione è stata completata.
  5. Conferma finale: l'LLM ti fornisce una risposta finale: "Ho trovato l'ultimo report sulle vendite e l'ho inviato via email al tuo responsabile".

MCP e RAG a confronto

Sia il Model Context Protocol (MCP) che la Retrieval-Augmented Generation (RAG) migliorano gli LLM con informazioni esterne, ma lo fanno in modi diversi e servono a scopi distinti. RAG trova e utilizza le informazioni per creare testo, mentre MCP è un sistema più ampio per l'interazione e l'azione.

Funzionalità

Model Context Protocol (MCP)

Retrieval-Augmented Generation (RAG)

Obiettivo principale

Standardizza la comunicazione bidirezionale per consentire agli LLM di accedere e interagire con strumenti, origini dati e servizi esterni per eseguire azioni insieme al recupero di informazioni.

Migliora le risposte degli LLM recuperando informazioni pertinenti da una knowledge base autorevole prima di generare una risposta.

Meccanismo

Definisce un protocollo standardizzato per le applicazioni LLM per richiamare funzioni esterne o richiedere dati strutturati da server specializzati, consentendo azioni e integrazione dinamica del contesto.

Incorpora un componente di recupero delle informazioni che utilizza la query di un utente per estrarre informazioni da una knowledge base o da un'origine dati. Queste informazioni recuperate vengono quindi aggiunte al prompt dell'LLM.

Tipo di output

Consente agli LLM di generare chiamate strutturate per gli strumenti, ricevere risultati e quindi generare testo leggibile da persone in base a questi risultati e azioni. Può anche coinvolgere dati e funzioni in tempo reale.

Gli LLM generano risposte basate sui dati di addestramento aumentati da testo pertinente alla query proveniente da documenti esterni. Spesso si concentra sull'accuratezza dei fatti.

Interazione

Progettato per l'interazione attiva e l'esecuzione di attività in sistemi esterni, fornendo una "grammatica" per l'utilizzo delle funzionalità esterne da parte degli LLM.

Principalmente per il recupero passivo di informazioni per informare la generazione di testo; in genere non per l'esecuzione di azioni all'interno di sistemi esterni.

Standardizzazione

Uno standard aperto per il modo in cui le applicazioni di AI forniscono contesto agli LLM, standardizzando l'integrazione e riducendo la necessità di API personalizzate.

Una tecnica o un framework per migliorare gli LLM, ma non un protocollo universale per l'interazione con gli strumenti tra diversi fornitori o sistemi.

Casi d'uso

Agenti di AI che eseguono attività (ad esempio, prenotazione di voli, aggiornamento del CRM, esecuzione di codice), recupero di dati in tempo reale, integrazioni avanzate.

Sistemi di risposta alle domande, chatbot che forniscono informazioni oggettive aggiornate, riepilogo di documenti, riduzione delle allucinazioni nella generazione di testo.

Funzionalità

Model Context Protocol (MCP)

Retrieval-Augmented Generation (RAG)

Obiettivo principale

Standardizza la comunicazione bidirezionale per consentire agli LLM di accedere e interagire con strumenti, origini dati e servizi esterni per eseguire azioni insieme al recupero di informazioni.

Migliora le risposte degli LLM recuperando informazioni pertinenti da una knowledge base autorevole prima di generare una risposta.

Meccanismo

Definisce un protocollo standardizzato per le applicazioni LLM per richiamare funzioni esterne o richiedere dati strutturati da server specializzati, consentendo azioni e integrazione dinamica del contesto.

Incorpora un componente di recupero delle informazioni che utilizza la query di un utente per estrarre informazioni da una knowledge base o da un'origine dati. Queste informazioni recuperate vengono quindi aggiunte al prompt dell'LLM.

Tipo di output

Consente agli LLM di generare chiamate strutturate per gli strumenti, ricevere risultati e quindi generare testo leggibile da persone in base a questi risultati e azioni. Può anche coinvolgere dati e funzioni in tempo reale.

Gli LLM generano risposte basate sui dati di addestramento aumentati da testo pertinente alla query proveniente da documenti esterni. Spesso si concentra sull'accuratezza dei fatti.

Interazione

Progettato per l'interazione attiva e l'esecuzione di attività in sistemi esterni, fornendo una "grammatica" per l'utilizzo delle funzionalità esterne da parte degli LLM.

Principalmente per il recupero passivo di informazioni per informare la generazione di testo; in genere non per l'esecuzione di azioni all'interno di sistemi esterni.

Standardizzazione

Uno standard aperto per il modo in cui le applicazioni di AI forniscono contesto agli LLM, standardizzando l'integrazione e riducendo la necessità di API personalizzate.

Una tecnica o un framework per migliorare gli LLM, ma non un protocollo universale per l'interazione con gli strumenti tra diversi fornitori o sistemi.

Casi d'uso

Agenti di AI che eseguono attività (ad esempio, prenotazione di voli, aggiornamento del CRM, esecuzione di codice), recupero di dati in tempo reale, integrazioni avanzate.

Sistemi di risposta alle domande, chatbot che forniscono informazioni oggettive aggiornate, riepilogo di documenti, riduzione delle allucinazioni nella generazione di testo.

Vantaggi dell'utilizzo del MCP

Model Context Protocol (protocollo di contesto del modello) offre diversi potenziali vantaggi per lo sviluppo e il deployment di applicazioni basate sull'AI, rendendo gli LLM più versatili, affidabili e capaci.

Allucinazioni ridotte

Gli LLM, per loro natura, a volte possono inventare fatti o produrre informazioni plausibili ma in definitiva errate (allucinare) perché prevedono le risposte in base ai dati di addestramento, non alle informazioni in tempo reale. Il MCP aiuta a ridurre questo problema fornendo agli LLM un modo chiaro per accedere a fonti di dati esterne e affidabili, rendendo le loro risposte più veritiere.

Maggiore utilità e automazione dell'AI

Questo protocollo aiuta l'AI a fare molto di più e a lavorare in autonomia. Di solito, gli LLM conoscono solo ciò su cui sono stati addestrati, che può diventare rapidamente obsoleto. Tuttavia, con MCP gli LLM possono connettersi a molti strumenti e integrazioni già pronti, come software aziendali, repository di contenuti e ambienti di sviluppo. Ciò significa che l'AI può gestire lavori più complicati che comportano l'interazione con il mondo reale, come l'aggiornamento delle informazioni sui clienti in un sistema CRM, la ricerca di eventi attuali online o l'esecuzione di calcoli speciali. Grazie al collegamento diretto a questi strumenti esterni, gli LLM non sono più solo programmi di chat, ma diventano agenti intelligenti in grado di agire in modo indipendente, il che significa che è possibile automatizzare molte più attività.

Connessioni più semplici per l'AI

Prima di MCP, il collegamento degli LLM a diverse origini dati e strumenti esterni era più difficile, in quanto di solito richiedeva connessioni speciali o l'utilizzo di metodi specifici per ciascun fornitore. Ciò ha portato a un sistema complicato e disordinato, spesso chiamato problema "N x M", perché il numero di connessioni personalizzate necessarie cresceva molto rapidamente con ogni nuovo modello o strumento. MCP offre uno standard comune e aperto che semplifica queste connessioni, proprio come una porta USB-C semplifica il collegamento dei dispositivi. Questo metodo più semplice può ridurre i costi di sviluppo, accelerare la creazione di applicazioni di AI e creare un ambiente di AI più connesso. Gli sviluppatori possono anche passare più facilmente da un fornitore di LLM all'altro e aggiungere nuovi strumenti senza apportare modifiche importanti.

MCP e sicurezza

Sebbene il protocollo di contesto del modello migliori le funzionalità LLM collegandole a sistemi esterni, può anche aprire importanti considerazioni sulla sicurezza. Poiché MCP può accedere a qualsiasi dato ed eseguire potenzialmente codice tramite strumenti connessi, è essenziale una sicurezza solida.

I principi di sicurezza chiave per MCP includono:

  • Consenso e controllo dell'utente: gli utenti devono comprendere chiaramente e accettare tutte le azioni e l'accesso ai dati che l'LLM esegue tramite MCP. Dovrebbero essere in grado di controllare quali dati vengono condivisi e quali azioni vengono intraprese, idealmente attraverso schermate di autorizzazione facili da usare.
  • Privacy dei dati: prima di esporre i dati degli utenti ai server MCP, gli host devono ottenere un'autorizzazione chiara da parte degli utenti. I dati sensibili devono essere protetti con controlli di accesso adeguati per evitare fughe o condivisioni accidentali, soprattutto perché gli LLM gestiscono grandi quantità di dati. È essenziale utilizzare la crittografia e regole di controllo dell'accesso rigide.
  • Sicurezza degli strumenti: gli strumenti collegati tramite MCP possono essere utilizzati per eseguire codice. Gli sviluppatori non devono fidarsi delle descrizioni degli strumenti a meno che non provengano da un server affidabile. Gli utenti devono concedere l'autorizzazione prima che venga utilizzato qualsiasi strumento e comprendere cosa fa lo strumento prima di consentirne l'esecuzione.
  • Gestione sicura dell'output: gli output LLM provenienti dalle interazioni MCP devono essere gestiti con attenzione per prevenire problemi di sicurezza come il cross-site scripting (XSS) o altri attacchi alle applicazioni web se l'output viene mostrato agli utenti. È importante pulire correttamente l'input e filtrare l'output, nonché evitare di includere dati sensibili nei prompt.
  • Sicurezza della catena di fornitura: l'affidabilità dei server MCP e degli strumenti esterni a cui si connettono è molto importante. Le organizzazioni devono assicurarsi che tutte le parti della loro catena di fornitura LLM siano sicure per evitare risultati distorti, violazioni della sicurezza o guasti.
  • Monitoraggio e audit: il controllo regolare dell'attività dell'LLM e del modo in cui interagisce con i server MCP può aiutare a individuare comportamenti insoliti o potenziali usi impropri. La configurazione di sistemi di logging e controllo efficaci consente di monitorare lo spostamento dei dati e l'utilizzo degli strumenti, il che è utile quando si risponde a incidenti di sicurezza.

Attenendosi a questi principi, gli sviluppatori possono sfruttare la potenza dell'MCP proteggendosi al contempo dai potenziali rischi.

Creazione e deployment di un'applicazione basata su MCP

L'implementazione del protocollo di contesto del modello richiede un'infrastruttura solida per ospitare l'LLM, i server MCP e le origini dati sottostanti. Una piattaforma cloud fornisce i componenti scalabili e sicuri necessari per creare una soluzione completa. Ecco come puoi affrontare la situazione:

Hosting e scalabilità dei server MCP

I server MCP sono il ponte verso i tuoi strumenti esterni. A seconda delle tue esigenze, puoi scegliere:

  • Ambienti serverless (come Cloud Run): ideali per strumenti semplici e stateless. Una piattaforma serverless scala automaticamente i tuoi server in base alla domanda, anche fino a zero, così paghi solo per ciò che utilizzi. È perfetto per il deployment efficiente di singoli strumenti.
  • Orchestrazione dei container (come Google Kubernetes Engine (GKE)): per applicazioni complesse e stateful che richiedono un controllo granulare su networking e risorse, un ambiente Kubernetes gestito fornisce la potenza e la flessibilità necessarie per eseguire un'infrastruttura MCP sofisticata su scala aziendale.

Connessione di MCP ai tuoi dati e strumenti

Gran parte del valore di MCP deriva dagli strumenti a cui può accedere. Puoi connettere il tuo LLM a:

  • Database gestiti (come Cloud SQL o Spanner): consentono alla tua AI di eseguire query in modo sicuro sui database relazionali per informazioni sui clienti, inventario o dati operativi
  • Data warehouse (come BigQuery): per le attività analitiche, un LLM può sfruttare un data warehouse per analizzare set di dati di grandi dimensioni e ricavare informazioni approfondite e contestuali in risposta alla query di un utente

Orchestrazione del workflow di AI end-to-end con Vertex AI

Una piattaforma di AI unificata è essenziale per tenere insieme tutti gli elementi. Vertex AI ti aiuta a gestire l'intero ciclo di vita della tua applicazione basata su MCP:

  • Hosting LLM: esegui il deployment e gestisci potenti modelli di base come Gemini, che fungono da "cervello" della tua applicazione.
  • Framework per agenti e orchestrazione: la creazione di un agente di AI comporta workflow complessi. Vertex AI fornisce strumenti per semplificare il flusso di informazioni tra l'LLM e il contesto fornito dai server MCP, semplificando lo sviluppo di agenti sofisticati in grado di ragionare e agire.

Fai il prossimo passo

Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.

Google Cloud