View a markdown version of this page

Strategia di hosting MCP - AWS Guida prescrittiva

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à.

Strategia di hosting MCP

L'astrazione degli strumenti disponibili nei server MCP separa lo sviluppo degli agenti dagli strumenti disponibili. Questo introduce le sfide legate al luogo in cui si ospita il server MCP e al modo in cui gli strumenti sono organizzati all'interno di tali server.

Approcci di hosting

Esistono tre opzioni per ospitare i server MCP: eseguirli localmente su un computer dell'utente finale, ospitarli in remoto o ospitarli tramite un gateway MCP. Ogni opzione presenta vantaggi e compromessi.

Hosting locale

L'hosting locale esegue il server MCP come sottoprocesso sul computer locale insieme all'agente che comunica con il server utilizzando JSON-RPC su flussi di input e output standard. Questo approccio non richiede l'autenticazione tra il client e il server. Gli strumenti possono interagire con applicazioni e file locali, utilizzare credenziali archiviate localmente ed ereditare l'accesso alla rete del computer locale dell'utente. Questo è il modello di hosting più semplice e presenta diversi vantaggi.

Molti clienti iniziano a usare MCP utilizzando server locali. Consentono agli ingegneri di iterare e risolvere rapidamente una serie di problemi dal loro ambiente locale. Prendiamo in considerazione un server MCP che si connette a un repository Git utilizzato dall'assistente di programmazione di un ingegnere. Mantenere il server MCP locale ha molto senso perché può utilizzare le credenziali univoche del tecnico per accedere al repository e non aggiunge un'ulteriore chiamata di rete a un server MCP remoto. L'immagine seguente mostra un server MCP ospitato localmente utilizzato con un agente di codifica in un IDE.

Un server MCP ospitato localmente viene utilizzato con un agente di codifica in un IDE.

Per questi tipi di implementazioni, è necessario considerare come vengono sviluppati e distribuiti i server MCP. La maggior parte dei clienti sviluppa un registro MCP in cui i server possono essere registrati e scaricati dagli utenti finali. È molto simile a un registro di contenitori in cui un utente può cercare funzionalità specifiche e trovare i server MCP adatti alle proprie esigenze.

Esistono registri MCP pubblici, come il registro MCP ufficiale, e registri ospitati privatamente. Le organizzazioni in genere allineano la propria strategia di registro MCP alle politiche esistenti relative alla distribuzione del software open source, ai registri dei container e alla gestione interna dei pacchetti. È necessario prendere in considerazione fattori come la scansione di sicurezza, i flussi di lavoro di approvazione e i requisiti di conformità.

Tuttavia, l'hosting locale introduce sfide operative che le organizzazioni dovrebbero prendere in considerazione. Innanzitutto, gli utenti finali devono scoprire, scaricare e configurare i server MCP in modo indipendente. Ciò può aumentare la complessità necessaria per iniziare a utilizzare ogni singolo server MCP che utilizzano localmente. In secondo luogo, non è possibile controllare il ciclo di vita del server MCP, il che significa che gli utenti possono continuare a eseguire versioni obsolete localmente con vulnerabilità di sicurezza o funzionalità mancanti. Ciò può complicare il rispetto dei requisiti di conformità. Alcuni IDEs strumenti CLI, come Kiro, consentono alle organizzazioni di gestire e controllare gli strumenti MCP disponibili, garantendo coerenza e sicurezza tra i team.

Hosting remoto

La seconda opzione consiste nell'ospitare server MCP remoti a cui si accede tramite HTTP o HTTPS. Ciò fornisce l'accesso a qualsiasi client connesso alla rete. L'utilizzo dell'hosting remoto consente di controllare centralmente l'accesso alle risorse e alle funzionalità MCP, implementare l'autenticazione e l'autorizzazione e controllare il controllo delle versioni e gli aggiornamenti della logica del server MCP. L'hosting remoto richiede comunque l'uso di un registro MCP in modo che gli utenti finali possano scoprire i server MCP che desiderano utilizzare con il proprio agente. L'immagine seguente mostra l'approccio all'hosting remoto.

Approccio all'hosting remoto.

Dal punto di vista dello sviluppo degli agenti, l'esperienza è simile indipendentemente dal fatto che il server MCP sia locale o remoto. La modifica più importante riguarda l'implementazione dell'autenticazione e dell'autorizzazione, che includono sia l'accesso dell'agente al server MCP sia l'accesso del server alle risorse esterne. Le implementazioni dei server MCP remoti devono essere pianificate attentamente per prendere in considerazione l'accesso multi-tenant e la gestione dei privilegi. Il capitolo sulla strategia di governance MCP contiene ulteriori informazioni sulle considerazioni relative all'autenticazione e all'autorizzazione.

Gateway MCP

L'ultima opzione è l'utilizzo di un gateway MCP. I gateway MCP fungono da proxy centralizzato tra client e server MCP e orchestrano l'accesso ai server MCP registrati. Senza un gateway, ogni agente deve registrare ogni server MCP remoto che potrebbe voler utilizzare. Un gateway consente all'agente di connettersi a un singolo endpoint che gestisce l'autenticazione, l'autorizzazione, il routing e la traduzione del protocollo. È possibile aggiungere dinamicamente nuovi server e strumenti MCP e renderli immediatamente disponibili all'agente. L'immagine seguente mostra l'approccio del gateway MCP.

Approccio gateway MCP.

Alcune soluzioni gateway, come Docker MCP Gateway, gestiscono anche il ciclo di vita dei server MCP, avviando i server su richiesta in base alle esigenze. I gateway MCP, come Amazon Bedrock AgentCore Gateway, possono anche aiutare a gestire l'individuazione degli strumenti fornendo funzionalità di ricerca semantica native. Ciò fornisce agli agenti un unico endpoint per connettersi con un client MCP e aiuta a ottimizzare l'utilizzo della finestra contestuale. Il risultato sono agenti semplici in grado di scegliere e utilizzare gli strumenti MCP in modo efficace. Tuttavia, presenta sfide legate all'identità simili a quelle dell'approccio al server MCP remoto.

Le migliori pratiche per l'hosting di server MCP

  • La gamma di opzioni di hosting non è valida per tutti. Gran parte dell'utilizzo dei server MCP oggi è locale.

  • Quando iniziate a utilizzare server MCP remoti, la vostra considerazione principale è l'autenticazione e l'autorizzazione coerenti verso il server MCP e il modo in cui il server MCP esegue l'autenticazione e l'autorizzazione sulle risorse a valle.

  • I gateway MCP semplificano la connettività, l'autenticazione e l'autorizzazione per l'hosting di più server MCP remoti. Forniscono inoltre funzionalità per migliorare la gestione delle finestre contestuali mediante la ricerca di strumenti applicabili.