Server, registri e elenchi consentiti del protocollo MCP (Model Context Protocol)
Gli agenti diventano più utili quando possono andare oltre il repository e interagire con altri strumenti, sistemi e servizi. Il protocollo del contesto del modello, o MCP, consente di offrire agli agenti un modo coerente per individuare e usare funzionalità esterne.
Negli ambienti GitHub, MCP non si limita solo alla connessione agli strumenti. Si tratta anche di controllare il modo in cui questi strumenti vengono introdotti, configurati e regolati. Ciò include la configurazione dei server MCP, l'uso di un Registro di sistema per individuare i server disponibili e l'applicazione degli elenchi di elementi consentiti in modo che possano essere usati solo i server approvati.
In questa unità si apprenderà quanto segue:
- Che cos'è MCP
- Funzionamento dei server MCP
- In che modo i registri semplificano l'individuazione dei server
- Come consentire agli elenchi di controllare quali server possono essere usati
- Come MCP si adatta ai flussi di lavoro agenti e agli strumenti degli agenti in GitHub
Che cos'è MCP?
Model Context Protocol è un modo standard per consentire ai client di intelligenza artificiale di connettersi a strumenti e servizi tramite server MCP. Invece di creare un'integrazione una tantum per ogni strumento, un client compatibile con MCP può connettersi a un server che espone gli strumenti in un formato strutturato.
Questo offre agli agenti un modello coerente per:
- Individuazione degli strumenti disponibili
- Invio di richieste strutturate
- Ricezione di risultati strutturati
- Riutilizzo dello stesso modello di interazione tra sistemi diversi
Che cos'è un server MCP?
Un server MCP è il componente che espone gli strumenti a un client di intelligenza artificiale.
Il server si trova tra il client e il sistema sottostante. Presenta gli strumenti disponibili in un formato compreso dal client, accetta le richieste e quindi esegue l'azione reale sul servizio connesso.
A seconda dell'installazione, un server MCP può:
- Eseguire localmente in un computer per sviluppatori
- Eseguire in remoto come servizio ospitato
- Connettersi alle risorse locali
- Ponte per API e piattaforme remote
Il server MCP GitHub è un esempio. Connette i client di intelligenza artificiale alle funzionalità di GitHub, ad esempio repository, problemi e richieste pull.
Server MCP locali e remoti
I server MCP possono essere configurati in locale o in remoto.
Un server MCP locale viene eseguito sul tuo computer. Ciò è utile quando si vuole un maggiore controllo sulla configurazione, l'accesso alle risorse locali o un'installazione personalizzata.
Un server MCP remoto è ospitato altrove ed è accessibile tramite la rete. In questo modo si riduce il lavoro di configurazione e si semplifica l'uso dello stesso server in ambienti diversi.
Negli IDE supportati, il server MCP GitHub può essere configurato in remoto o in locale, con l'opzione remota posizionata come configurazione consigliata per la maggior parte degli utenti. GitHub Enterprise Server supporta la configurazione del server MCP locale, mentre GitHub Enterprise Cloud con residenza dei dati supporta opzioni locali e remote.
Aggiungere un server MCP remoto come strumento a un agente (VS Code)
I server MCP vengono aggiunti direttamente tramite l'interfaccia Copilot Chat e diventano strumenti che l'agente può usare.
Steps:
- Fare clic sull'icona GitHub Copilot nella parte superiore dell'editor
- Aprire Copilot Chat e passare alla modalità Agente
- Fare clic sull'icona Strumenti nel pannello della chat
- Fare clic su Configura strumenti nell'angolo superiore destro del pannello Copilot Chat.
- Fare clic su Aggiungi server MCP
- Nella finestra di dialogo di installazione:
- Selezionare HTTP come tipo di server
- Immettere l'URL del server ,ad esempio per GitHub server MCP:
- https://api.githubcopilot.com/mcp/
- Premere INVIO
- Viene generato automaticamente un nome del server
- Scegliere l'ambito; area di lavoro corrente o tutte le aree di lavoro
- Fare clic su Autentica e accedere a GitHub
- Salva la configurazione
Il server MCP è ora disponibile come strumento all'interno dell'agente e l'agente può chiamare le relative funzionalità durante le attività.
Aggiungere un server MCP locale come strumento a un agente
Un server MCP locale viene eseguito nel computer e consente all'agente di interagire con strumenti, file o servizi personalizzati locali. Il processo di installazione in VS Code equivale all'aggiunta di qualsiasi server MCP.
L'unica differenza è il server a cui ci si connette. Invece di usare un URL ospitato come il server MCP GitHub, si fornisce un endpoint locale, ad esempio:
http://localhost:3000
Server MCP locali:
- Eseguire nel computer
- È possibile accedere alle risorse locali e ai flussi di lavoro personalizzati
- In genere, non richiedere l'autenticazione esterna
Che cos'è un registro MCP?
Un registro MCP è un catalogo di server MCP.
Invece di chiedere a ogni sviluppatore di configurare manualmente ogni server, un registro fornisce una posizione centrale in cui i client compatibili possono individuare quali server sono disponibili e come usarli.
Questo semplifica la configurazione in due modi:
- Semplifica l'individuazione dei server
- Standardizza la modalità di descrizione e distribuzione dei server
Per impostazione predefinita, le esperienze IDE supportate possono usare il Registro mcp GitHub e gli sviluppatori possono anche passare a un registro personalizzato quando necessario.
Come i registri aiutano con la configurazione
I registri riducono l'attrito perché rimuovono gran parte del lavoro manuale coinvolto nell'aggiunta di server.
Invece di modificare i file di configurazione a mano per ogni server, uno sviluppatore può esplorare o cercare un registro, selezionare un server, installarlo e considerarlo attendibile per l'uso nel proprio ambiente.
Ciò rende particolarmente utili i registri quando:
- Teams vuole un'esperienza di configurazione più semplice
- Le organizzazioni vogliono un set standard di server approvati
- Gli sviluppatori necessitano di un elenco curato invece dell'individuazione non gestita
GitHub supporta anche registri MCP personalizzati per organizzazioni e aziende, purché il registro segua la specifica e la struttura degli endpoint del Registro di sistema MCP richiesta.
Configurare registri MCP
Per usare un registro MCP personalizzato in GitHub, un'organizzazione o un'impresa deve creare o ospitare un registro a cui GitHub Copilot può accedere.
Steps:
- Creare o ospitare un registro MCP. È possibile eseguire questa operazione in uno dei tre modi seguenti:
- Fork e ospita il registro MCP open source
- Eseguire il Registro di sistema open source in locale usando Docker
- Compilare e pubblicare un'implementazione personalizzata del Registro di sistema
- Assicurarsi che il Registro di sistema soddisfi i requisiti GitHub. Il Registro di sistema deve:
- Seguire la specifica del Registro di sistema MCP v0.1
- Esporre gli endpoint HTTPS necessari:
- GET /v0.1/servers
- GET /v0.1/servers/{serverName}/versions/latest
- GET /v0.1/servers/{serverName}/versions/{version}
- Includere le intestazioni CORS necessarie in modo che Copilot possano accedervi:
- Access-Control-Allow-Origin: *
- Access-Control-Allow-Methods: GET, OPTIONS
- Access-Control-Allow-Headers: Authorization, Content-Type
- (Facoltativo) Includere i server MCP locali:
- Se si desidera che gli sviluppatori usino server MCP locali con criteri con restrizioni, tali server devono essere elencati nel Registro di sistema
- Gli ID server devono corrispondere esattamente
- (Alternativa) Usare Centro API di Azure
- Azure Centro API può fungere da registro MCP gestito
- Abilitare l'accesso anonimo in modo che Copilot possa recuperare il Registro di sistema
- Copiare l'URL dell'endpoint del Centro API per usarlo in un secondo momento
- Specificare l'URL del registro per l'organizzazione o l'impresa
- Questo URL verrà usato nelle impostazioni dei criteri di Copilot
- Rende disponibile il registro nell'intera azienda
Dopo la configurazione, il Registro di sistema diventa l'origine della verità per i server MCP disponibili, consentendo agli sviluppatori di individuare e usare gli strumenti approvati in modo coerente.
Che cos'è un elenco di elementi consentiti?
Un elenco di elementi consentiti è un criterio che controlla quali server MCP sono consentiti.
Questo problema è importante perché MCP espande ciò che un agente può accedere. Senza protezioni, un agente potrebbe essere connesso a strumenti che espongono sistemi sensibili o consentono azioni non sicure.
Un elenco di elementi consentiti risolve questo problema limitando l'utilizzo del server alle voci approvate. In pratica, ciò significa che un'organizzazione o un'impresa può decidere se gli sviluppatori possono:
- Usare tutti i server MCP
- Usare qualsiasi server MCP
- Usare solo server MCP specifici definiti in un registro
GitHub supporta l'imposizione dell'elenco di consentiti MCP a livello di organizzazione e aziendale, legata alla licenza Copilot che gestisce l'utente.
Come funzionano insieme i server MCP, i registri e gli elenchi di autorizzazione
Questi tre concetti risolvono parti diverse dello stesso problema:
- Il server MCP espone gli strumenti
- Il Registro di sistema rende i server individuabili e attendibili
- Lista di autorizzazione determina quali server sono consentiti
Insieme creano un modello flessibile e controllato.
Uno sviluppatore o un team può individuare server utili tramite un registro, mentre l'organizzazione mantiene ancora la governance su quali server sono consentiti in pratica.
Configurare le liste di autorizzazione MCP
McP consente agli elenchi di controllare quali sviluppatori di server MCP sono autorizzati a usare. Questa configurazione viene configurata a livello aziendale o dell'organizzazione in GitHub.
Fasi (Impresa):
- Naviga verso la tua organizzazione su GitHub
- Nella parte superiore della pagina fare clic su Controlli di intelligenza artificiale
- Nella barra laterale fare clic su MCP
- Assicurarsi che i server MCP in Copilot siano impostati su Abilitato ovunque
- Nella sezione URL del Registro di sistema MCP:
- Immettere l'URL del registro
- Fare clic su Salva
- Se si usa Azure Centro API, immettere solo l'URL di base (non includere /v0.1/servers)
- In Limita l'accesso MCP ai server del Registro di sistema scegliere:
- Consenti tutte le → nessuna restrizione, è possibile usare qualsiasi server MCP
- Il Registro di sistema → solo i server del Registro di sistema sono consentiti
Passaggi (organizzazione):
- In GitHub fare clic sull'immagine del profilo e selezionare Organizzazioni
- Selezionare l'organizzazione
- Fare clic su Impostazioni
- Nella barra laterale fare clic su Copilot, quindi su Criteri
- Nella sezione Funzionalità:
- Verificare che i server MCP in Copilot siano abilitati
- (Facoltativo) Nell'URL del Registro di sistema MCP:
- Immettere l'URL del Registro di sistema
- Fare clic su Salva
- Se si usa Azure Centro API, immettere solo l'URL di base
- In Limita l'accesso MCP ai server del Registro di sistema scegliere:
- Consenti tutto
- Solo registro
Note
Note: se è selezionata l'opzione Consenti tutto, gli sviluppatori possono aggiungere e usare qualsiasi server MCP senza restrizioni. Se è selezionata solo l'opzione Registro di sistema, gli sviluppatori sono limitati all'uso solo dei server MCP definiti nel Registro di sistema configurato. In questo caso, anche i server MCP locali devono essere inclusi nel Registro di sistema e i relativi ID server devono corrispondere esattamente. Dopo aver selezionato un criterio, viene applicato immediatamente a tutti gli sviluppatori.
Gli elenchi consenti assicurano che gli agenti usino solo server MCP approvati, assegnando alle organizzazioni il controllo sugli strumenti a cui è possibile accedere.
Un flusso di lavoro pratico GitHub
Un flusso MCP incentrato sul GitHub realistico è simile al seguente:
- Un'organizzazione configura un registro MCP
- L'organizzazione definisce una politica di whitelist per i server approvati
- Uno sviluppatore apre un IDE o un client che supporta MCP
- Il client individua i server approvati dal Registro di sistema
- Lo sviluppatore abilita un server, ad esempio il server MCP GitHub
- L'agente usa strumenti di tale server durante un'attività
In questo modello gli agenti ottengono nuove funzionalità senza rinunciare al controllo sulla sicurezza e sulla governance.
Perché questo aspetto è importante per l'esecuzione dell'agente
MCP offre agli agenti l'accesso a più strumenti, ma più strumenti implicano anche maggiore responsabilità.
Per usare MCP in modo sicuro su larga scala, è necessaria più della connettività. È necessario:
- Un server che espone correttamente gli strumenti
- Registro di sistema che rende individuabili i server approvati
- Elenco di elementi consentiti che limita gli elementi che possono essere usati
Questa combinazione rende MCP pratico per i team reali. Consente agli agenti di espandersi oltre GitHub mantenendo la configurazione gestibile e controllata dall'accesso.
Punto chiave
MCP estende le funzionalità dell'agente connettendole agli strumenti tramite server MCP. I registri semplificano il modo in cui tali server vengono individuati e configurati. Gli elenchi consenti forniscono le protezioni che decidono quali server sono consentiti.
Insieme, questi pezzi rendono MCP scalabile e gestibile.
Si apprenderà quindi come definire gli ambienti di esecuzione e i limiti delle autorizzazioni in modo che gli agenti possano usare GitHub e strumenti connessi a MCP in modo sicuro.