Cos'è un client MCP?

Un client MCP è un sottoprogramma di un’applicazione agente IA e comunica con un server MCP per ottenere informazioni ed eseguire attività.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Spiegare come interagiscono i client e i server MCP
  • Comprendere gli host MCP
  • Iniziare a distribuire client e server MCP su Cloudflare

Copia link dell'articolo

Cos'è un client MCP?

Un client Model Context Protocol (MCP) è un programma per computer che, come parte o sotto la direzione di un agente IA, effettua richieste a un server MCP. Le informazioni che il client MCP ottiene dal server MCP aiutano l'agente IA a prendere decisioni o a svolgere attività. Pensa a un client MCP come a un assistente che può prenotare ristoranti o dare seguito alle persone per conto del loro datore di lavoro (l'agente IA).

Supponiamo che Acme Corp. costruisca un agente di intelligenza artificiale in grado di ordinare autonomamente set di mobili per le camerette dei bambini in risposta a semplici prompt dei clienti come "Vorrei arredare la stanza del mio bambino di nove anni". Per trovare le opzioni migliori, l'agente IA avrebbe bisogno di informazioni su quali mobili per bambini sono disponibili, i loro prezzi e le dimensioni dei mobili rispetto alla tipica camera da letto. Se i produttori di mobili espongono queste informazioni utilizzando MCP, l'agente IA può incaricare un client MCP di richiedere direttamente le informazioni desiderate.

I client MCP operano all'interno di host MCP: un host MCP è un agente o un'applicazione IA. Il protocollo MCP non è come il modello client-server su cui è stato costruito Internet, in cui originariamente si presumeva che i "client" fossero dispositivi discreti con i propri indirizzi IP. Piuttosto, i client, gli host e i server MCP potrebbero essere tutti in esecuzione sulla stessa macchina, anche se non è sempre così.

Come funzionano gli host MCP

Un host MCP è un'applicazione di IA agentica. Insieme alle altre sue funzioni, l'applicazione contiene uno o più client, che sono programmi sussidiari dell'host. I client aiutano l’host a ottenere le informazioni necessarie o a eseguire azioni per rispondere ai prompt dell’utente finale. Ogni client comunica direttamente con un server MCP. Ulteriori connessioni al server richiedono l'istanza di più client.

Diagramma: un dispositivo dell'utente finale esegue un'applicazione di intelligenza artificiale che interroga un client MCP che a sua volta interroga un server MCP
Questo diagramma mostra come i client e i server MCP interagiscono sotto il cofano di un'app rivolta all'utente quando i server MCP sono ospitati su Cloudflare.

Dal punto di vista dell'utente finale, tutto ciò avviene sotto il cofano: quello che vedono è che inseriscono un prompt in un'applicazione di intelligenza artificiale e l'applicazione risponde o esegue le sue richieste. Ma dietro le quinte, l’applicazione si basa almeno in parte su client e server MCP per portare a termine il lavoro.

Cos'è un server MCP?

Un server MCP è un programma software che supporta l'utilizzo di MCP e rende le informazioni disponibili ai client MCP. I server MCP svolgono un ruolo attivo nell'aiutare i client MCP a soddisfare i loro prompt, richiedendo ad esempio più contesto ove necessario.

I server MCP e i client MCP possono essere eseguiti sulla stessa macchina fisica. Oppure possono essere dispositivi separati che si connettono in remoto tra loro su Internet. Un server MCP può essere ospitato su un server Web (o su Cloudflare, come nel diagramma sopra) ma non è necessario.

Quali sono le funzionalità principali dei server MCP?

I server MCP rendono disponibili diverse funzionalità ai client MCP. Queste funzionalità aiutano i client MCP a svolgere le loro attività.

  • Strumenti: si tratta di funzioni che possono essere eseguite per agevolare l'esecuzione dei prompt. Uno strumento server MCP potrebbe essere una funzione che chiama un'API, ad esempio.
  • Risorse: le risorse sono fonti salvate di dati di sola lettura, come documenti, documentazione API o articoli della knowledge base.
  • Prompt: modelli strutturati archiviati per richiamare strumenti e risorse specifici.

Quali sono le funzionalità principali dei client MCP?

I client MCP rendono disponibili funzionalità anche ai server MCP, che possono richiedere informazioni o ottenere chiarezza dai client che utilizzano queste funzionalità.

  • Elicitazione: una volta avviata una connessione, il server potrebbe aver bisogno di più contesto o informazioni per soddisfare la richiesta del client. Il server utilizza la funzione Elicitazione per ottenere queste informazioni dal client, che a sua volta può chiedere all'utente.
  • Root: i client possono chiedere ai server di concentrarsi su determinate sottodirectory di file per garantire che il server generi una risposta pertinente. Immagina che nell'esempio sopra un client chieda al server di concentrarsi su file:///home-goods/furniture/childrens-furniture/. In questo modo è meno probabile che il server fornisca al client informazioni irrilevanti che non aiutano a soddisfare il prompt dell'utente, come informazioni sugli articoli per la casa in generale o sui letti per adulti.
  • Campionamento: il server può inviare una richiesta al client affinché l'applicazione di intelligenza artificiale completi un'attività.

Come creare un server MCP o un client MCP con Cloudflare

Cloudflare consente agli sviluppatori di creare, testare e distribuire i propri client e server MCP come parte dello sviluppo dei propri agenti IA. Gli sviluppatori possono creare sui propri dispositivi locali e distribuire su Cloudflare, oppure creare tramite i loro account GitHub. L'implementazione di un server o client MCP su Cloudflare significa che possono esporre strumenti e dati agli agenti senza self-hosting e in pochi millisecondi, su una rete globale che si trova entro circa 50 millisecondi del 95% della popolazione connessa a Internet a livello globale.

L'autenticazione tramite OAuth può essere integrata anche nei server MCP. Senza autenticazione, chiunque può connettersi e utilizzare il server. Con l'autenticazione, solo le parti autorizzate possono farlo. L'autenticazione può quindi aiutare a mantenere riservati e sicuri i dati su un server MCP.

Per un tutorial completo su come creare un server MCP remoto con Cloudflare, consulta la documentazione per gli sviluppatori MCP di Cloudflare.