

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Che cos'è l'MCP?
<a name="what-is-mcp"></a>

LLMs lavorano prevedendo una risposta a un prompt in base ai dati di addestramento. Ciò significa che l'LLM può fornire solo risposte su dati ed eventi che ha già visto. Metodi come Retrieval Augmented Generation (RAG) e le knowledge base consentono di includere dati contestuali. Tuttavia, se chiedeste a un LLM quali saranno le previsioni del tempo di domani o quanti clienti ci sono nel vostro database, probabilmente vi sarebbero allucinazioni o non sarebbe in grado di fornire una risposta, perché queste non rientrano nelle conoscenze pre-addestrate del LLM. Per poter rispondere a questo tipo di domande, un agente deve accedere a funzionalità e dati esterni e al di APIs fuori del contesto nativo del LLM.

## Strumenti di comprensione
<a name="understanding-tools"></a>

**Possiamo fornire all'LLM l'accesso a sistemi e contesti aggiuntivi tramite strumenti.***Gli strumenti* sono funzioni fornite al LLM per raggiungere un obiettivo chiaro. Uno strumento può richiamare un'API, interrogare un database, eseguire operazioni con la calcolatrice, gestire una sandbox di codice, eseguire una ricerca sul Web e persino richiamare un altro sistema di intelligenza artificiale oppure. agent-as-a-tool Ogni strumento dovrebbe includere una descrizione che indichi all'LLM cosa fa lo strumento, quando usarlo e quali parametri accetta. Ciò consente all'LLM di prendere decisioni dettagliate su quale strumento o combinazione di strumenti invocare in base all'input dell'utente. L'LLM viene informato sugli strumenti a disposizione dell'agente, consentendogli di generare risposte che indicano all'agente di richiamare lo strumento. Ad esempio, quando chiedi all'LLM quanti clienti ci sono nel tuo database, l'LLM invierà una risposta all'agente richiedendo di eseguire lo strumento con parametri di input specifici. `query_database` L'LLM determina quale strumento invocare e gli input per la chiamata allo strumento. L'agente esegue quindi lo strumento, che converte l'input in linguaggio naturale in una chiamata di funzione sintatticamente corretta ed esegue la query. L'agente richiama lo strumento o gli strumenti in base alle istruzioni del LLM e tali risultati vengono restituiti all'LLM. Ciò sfrutta la capacità dell'LLM di ragionare utilizzando input testuali e di selezionare gli strumenti appropriati per il lavoro.

L'immagine seguente mostra come ogni agente gestisce il proprio set di strumenti per ogni destinazione.

![Ogni agente gestisce il proprio set di strumenti per ogni destinazione.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/mcp-strategies/images/agent-tool-management.png)


La scalabilità dell'accesso agli strumenti può presentare sfide per le soluzioni di intelligenza artificiale agentica:
+ Se ogni sviluppatore crea il proprio strumento per le stesse funzionalità esterne, si assiste a molti sforzi duplicati e a modi non standardizzati di interagire con queste funzionalità esterne. Ciò produce implementazioni incoerenti tra i vostri agenti. Sebbene sia possibile risolvere il problema sviluppando strumenti standard nelle librerie e distribuendoli, ciò manca di una governance centralizzata. Ciò rende difficile applicare le politiche di sicurezza, tenere traccia dell'utilizzo degli strumenti, gestire il controllo delle versioni tra i team o garantire la conformità agli standard organizzativi. Inoltre, quando incorpori gli strumenti direttamente con l'agente, devi ridistribuirlo ogni volta che viene creato un nuovo strumento o ne viene aggiornato uno esistente.
+ La fornitura di strumenti a un LLM utilizza la relativa finestra contestuale. *La finestra contestuale* è il numero di *token* (unità di testo LLMs elaborate, che in genere rappresentano parole, parti di parole o punteggiatura) che un modello può considerare in qualsiasi momento. LLMs hanno dei limiti per una finestra contestuale. Gli strumenti e la relativa documentazione utilizzano quella finestra a contesto limitato insieme ai prompt di sistema e ai prompt degli utenti. Man mano che la finestra contestuale si riempie, le prestazioni LLMs possono peggiorare a causa di molteplici fattori: difficoltà nell'identificare le informazioni pertinenti, maggiore complessità di elaborazione e ridotta capacità di ragionamento. La sfida si aggrava quando le definizioni degli strumenti, i prompt di sistema e la cronologia delle conversazioni competono per lo spazio limitato nella finestra contestuale, poiché vengono forniti in ogni chiamata LLM.

Pertanto, il numero di strumenti e il modo in cui vengono documentati hanno un impatto diretto sulle prestazioni del LLM, in termini di tempi di risposta e precisione.

MCP stabilisce uno standard universale per connettere gli agenti a funzionalità esterne. Viene comunemente definita «USB-C per applicazioni AI». [Invece di registrare gli strumenti direttamente con gli agenti, i server MCP fungono da intermediari per ospitare strumenti che vengono scoperti e richiamati tramite JSON-RPC 2.0.](https://www.jsonrpc.org/specification) Invece di aggiungere decine o centinaia di strumenti diversi all'agente e mantenerli nel tempo, MCP consente di registrare server MCP che racchiudono gli strumenti a cui l'agente può accedere. Questo approccio standardizza il modo in cui gli strumenti vengono impacchettati, presentati e richiamati. Questo può aiutare ad affrontare le sfide di scalabilità e governance legate all'utilizzo degli strumenti all'interno degli agenti. Inoltre, separa lo sviluppo e le operazioni degli agenti dagli strumenti utilizzati per le funzionalità esterne.

La figura seguente mostra gli agenti che utilizzano MCP per accedere a risorse esterne.

![Utilizzo del Model Context Protocol per accedere a risorse esterne.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/mcp-strategies/images/mcp-external-resources.png)


Tuttavia, lo standard MCP non risolve tutte le sfide di scalabilità e governance. L'implementazione dei server MCP deve essere combinata con strategie efficaci di progettazione degli strumenti, hosting e governance aziendale. Questa guida fornisce le migliori pratiche per ogni strategia per aiutarti a creare e utilizzare MCP come parte delle tue soluzioni di intelligenza artificiale agentica.

## Quando usare MCP
<a name="when-to-use-mcp"></a>

MCP fornisce un'infrastruttura strategica per scalare le tue iniziative di intelligenza artificiale agentica. Centralizzando la gestione e la governance degli strumenti, i server MCP riducono il costo cumulativo della creazione e del mantenimento di integrazioni personalizzate tra più agenti. Ciò offre rendimenti crescenti man mano che l'ecosistema degli agenti si espande.

È probabile che MCP diventi parte della tua strategia quando:
+ È necessaria una governance centralizzata per il modo in cui gli agenti accedono ai sistemi e ai servizi aziendali, come database APIs, strumenti interni e integrazioni di terze parti.
+ Gli sviluppatori dedicano troppo tempo a scrivere integrazioni personalizzate che non sono coerenti tra le implementazioni.
+ Disponi di strumenti duplicati che potrebbero offrire funzionalità comuni.
+ Desiderate offrire i vostri strumenti o dati proprietari a consumatori esterni o sistemi di agenti di terze parti attraverso interfacce MCP standardizzate e gestite, sbloccando nuovi flussi di entrate mantenendo al contempo sicurezza e controllo.

Dopo aver deciso che i server MCP faranno parte della vostra strategia, valutate se le implementazioni dei server MCP open source esistenti soddisfano le vostre esigenze, se richiedono miglioramenti o se è necessario creare server personalizzati. Molte implementazioni predefinite di server MCP sono disponibili negli archivi pubblici e coprono funzionalità comuni come l'accesso al file system, la navigazione sul Web, le sandbox di codice, l'accesso al database e le integrazioni API.

In molti casi, i server MCP preesistenti sono sufficienti. Ad esempio, AWS fornisce il [AWS MCP Server](https://docs.aws.amazon.com/aws-mcp/latest/userguide/what-is-mcp-server.html), un server MCP remoto gestito che fornisce agli assistenti e agli agenti di intelligenza artificiale un accesso sicuro e autenticato tramite interazioni in linguaggio naturale. Servizi AWS [È possibile utilizzarlo AWS MCP Server per eseguire AWS attività complesse e in più fasi combinando accesso in tempo reale alla AWS documentazione, chiamate API sintatticamente corrette e flussi di lavoro predefiniti denominati Agent che seguono le migliori pratiche. SOPs](https://docs.aws.amazon.com/aws-mcp/latest/userguide/agent-sops.html) AWS AWS li testa continuamente AWS MCP Server per assicurarsi che gli agenti del cliente possano utilizzarli con successo.

Dovresti testare questi server MCP esistenti con i tuoi agenti per determinare se soddisfano i tuoi casi d'uso. Se un agente non riesce a completare i flussi di lavoro, genera risposte errate o non ottimali, non riesce a gestire processi complessi in più fasi o non rispetta importanti best practice o considerazioni sulla sicurezza specifiche del dominio, dovreste prendere in considerazione miglioramenti in diverse dimensioni.

Quando i server MCP esistenti non soddisfano appieno le vostre esigenze e fanno fatica a utilizzare correttamente gli strumenti esistenti o a produrre risposte accurate, prendete in considerazione questi approcci di miglioramento prima di creare server personalizzati:
+ **Arricchisci il contesto degli agenti**: se il tuo agente ha difficoltà a utilizzare in modo corretto o efficiente gli strumenti di un server MCP esistente, valuta la possibilità di integrare tali definizioni degli strumenti con documentazione o esempi aggiuntivi. Questo aiuta a fornire un contesto aggiuntivo all'LLM.
+ **Aggiungi strumenti complementari**: estendi i server MCP esistenti con strumenti che accedono a dati o contesti organizzativi aggiuntivi di cui gli agenti hanno bisogno per completare con successo i flussi di lavoro.
+ **Migliora la funzionalità di base APIs**: semplifica il servizio APIs per renderlo più adatto agli LLM riducendo la complessità dei parametri, fornendo messaggi di errore più chiari e offrendo impostazioni predefinite ragionevoli utilizzabili dagli agenti.

Sebbene l'utilizzo delle implementazioni di server MCP esistenti acceleri lo sviluppo di funzionalità comuni, la creazione di server MCP personalizzati è una necessità quando il caso d'uso richiede funzionalità specializzate. I server MCP personalizzati consentono di incapsulare le competenze del settore, applicare gli standard organizzativi, migliorare l'affidabilità degli agenti per flussi di lavoro complessi e supportare la conformità ai requisiti di sicurezza. Prendi in considerazione la creazione di un server MCP personalizzato nelle seguenti situazioni:
+ Flussi di **lavoro specifici del dominio: i flussi** di lavoro in più fasi che richiedono competenze di settore devono essere incapsulati in strumenti MCP personalizzati quando le conoscenze necessarie non vengono acquisite nella documentazione delle API. ****Ad esempio, anziché consentire agli agenti di orchestrare complesse pipeline di dati sanitari che devono convalidare la conformità all'Health Insurance Portability and Accountability Act (HIPAA), rendere anonime le PII e passare al formato [HL7 FHIR](https://hl7.org/fhir/), offri uno strumento che incorpori direttamente l'esperienza del settore. `process_patient_data` Ciò elimina la dipendenza dall'LLM per orchestrare ed eseguire correttamente le fasi del flusso di lavoro, migliorando la coerenza e la conformità.
+ **Astrazioni del percorso privilegiato**: gli agenti potrebbero avere difficoltà a implementare approcci ottimali perché mancano di contesto organizzativo e si basano su modelli di base piuttosto che sulle migliori pratiche organizzative. In questi scenari, è possibile applicare standard prescrittivi in termini di costi, prestazioni o sicurezza incapsulando questi percorsi fondamentali in strumenti MCP personalizzati. Ad esempio, anziché consentire agli agenti di implementare un'infrastruttura con impostazioni predefinite che potrebbero essere non sicure o inefficienti, fornite uno strumento che incorpori direttamente gli standard della vostra organizzazione. `deploy_secure_infrastructure`
+ Orchestrazione **multiservizio complessa: anziché far orchestrare** all'agente flussi di lavoro complessi cercando di dedurre la sequenza e il set di servizi corretti da utilizzare in ogni fase, puoi creare tale logica in modo deterministico all'interno di uno strumento MCP. Potresti anche voler fornire competenze sui modelli ottimali di integrazione dei servizi di cui l'agente potrebbe non essere a conoscenza. ****Ciò può anche migliorare la precisione e l'efficienza dei tuoi agenti.
+ **Best practice specifiche per i servizi**: si tratta di una prassi comune per gli strumenti incentrati sulla sicurezza che aiutano gli agenti a implementare politiche di crittografia, controlli di accesso e modelli di conformità specifici per il servizio a cui si accede tramite lo strumento dell'agente. Inoltre, se esistono best practice operative specifiche per un servizio che non sono ovvie, l'utilizzo di un server MCP può aiutarvi ad assicurarvi che vengano implementate e non lasciate che sia un agente a valutarle.