Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il protocollo MCP (Model Context Protocol) è un protocollo aperto progettato per standardizzare le integrazioni tra app di intelligenza artificiale e strumenti esterni e origini dati. Usando MCP, gli sviluppatori possono migliorare le funzionalità dei modelli di intelligenza artificiale, consentendo loro di produrre risposte più accurate, pertinenti e consapevoli del contesto.
Ad esempio, usando MCP, è possibile connettere l'LLM alle risorse, ad esempio:
- Database di documenti o servizi di archiviazione.
- API Web che espongono dati aziendali o logica.
- Strumenti che gestiscono i file o eseguono attività locali nel dispositivo di un utente.
Molti prodotti Microsoft supportano già MCP, tra cui:
È possibile usare MCP C# SDK per creare rapidamente integrazioni MCP e passare da modelli di intelligenza artificiale diversi senza modifiche significative al codice.
Architettura MCP client-server
MCP usa un'architettura client-server che consente a un'app basata su intelligenza artificiale (l'host) di connettersi a più server MCP tramite client MCP:
- Host MCP: strumenti di intelligenza artificiale, editor di codice o altro software che migliorano i modelli di intelligenza artificiale usando risorse contestuali tramite MCP. Ad esempio, GitHub Copilot in Visual Studio Code può fungere da host MCP e usare client e server MCP per espanderne le funzionalità.
- Client MCP: client usati dall'applicazione host per connettersi ai server MCP per recuperare i dati contestuali.
- Server MCP: servizi che espongono funzionalità ai client tramite MCP. Ad esempio, un server MCP potrebbe fornire un'astrazione su un'API REST o un'origine dati locale per fornire dati aziendali al modello di intelligenza artificiale.
Il diagramma seguente illustra questa architettura:
Il client e il server MCP possono scambiare un set di messaggi standard:
Messaggio | Descrizione |
---|---|
InitializeRequest |
Questa richiesta viene inviata dal client al server quando si connette per la prima volta, chiedendo di iniziare l'inizializzazione. |
ListToolsRequest |
Inviato dal client per richiedere un elenco di strumenti del server. |
CallToolRequest |
Utilizzato dal client per richiamare uno strumento fornito dal server. |
ListResourcesRequest |
Inviato dal client per richiedere un elenco delle risorse del server disponibili. |
ReadResourceRequest |
Inviato dal client al server per leggere un URI di risorsa specifico. |
ListPromptsRequest |
Inviato dal client per richiedere un elenco di prompt e modelli di prompt disponibili dal server. |
GetPromptRequest |
Usato dal client per ottenere una richiesta fornita dal server. |
PingRequest |
Ping, emesso dal server o dal client, per verificare che l'altra parte sia ancora attiva. |
CreateMessageRequest |
Richiesta da parte del server di effettuare un campionamento su un LLM attraverso il client. Il client ha la massima discrezione su quale modello selezionare. Il cliente deve anche informare l'utente prima di iniziare il campionamento, per consentire loro di esaminare la richiesta (intervento umano) e decidere se approvarla. |
SetLevelRequest |
Richiesta inviata dal client al server per abilitare o regolare la registrazione. |
Sviluppare con MCP C# SDK
Gli sviluppatori .NET possono usare MCP creando client e server MCP per migliorare le app con integrazioni personalizzate. MCP riduce la complessità della connessione di un modello di intelligenza artificiale a vari strumenti, servizi e origini dati.
McP C# SDK ufficiale è disponibile tramite NuGet e consente di creare client e server MCP per app e librerie .NET. L'SDK viene gestito tramite la collaborazione tra Microsoft, Anthropic e l'organizzazione del protocollo aperto MCP.
Per iniziare, aggiungere MCP C# SDK al progetto:
dotnet add package ModelContextProtocol --prerelease
Invece di creare connettori univoci per ogni punto di integrazione, è spesso possibile sfruttare o fare riferimento a integrazioni predefinite di diversi provider, ad esempio GitHub e Docker:
Integrazione con Microsoft.Extensions.AI
MCP C# SDK dipende dalle librerie Microsoft.Extensions.AI per gestire varie interazioni e attività di intelligenza artificiale. Queste librerie di estensioni forniscono tipi di base e astrazioni per l'uso dei servizi di intelligenza artificiale, in modo che gli sviluppatori possano concentrarsi sulla scrittura di codice sulle funzionalità di intelligenza artificiale concettuali anziché su piattaforme o implementazioni di provider specifiche.
Visualizzare le dipendenze di MCP C# SDK nella pagina del pacchetto NuGet.
Altre risorse di sviluppo MCP .NET
Vari strumenti, servizi e risorse di apprendimento sono disponibili negli ecosistemi .NET e Azure per facilitare la creazione di client e server MCP o l'integrazione con i server MCP esistenti.
Introduzione agli strumenti di sviluppo seguenti:
- Il kernel semantico consente di aggiungere plug-in per i server MCP. Il kernel semantico supporta i server MCP locali tramite server I/O standard e server remoti che si connettono tramite SSE tramite HTTPS.
- I server MCP remoti di Funzioni di Azure combinano gli standard MCP con l'architettura flessibile di Funzioni di Azure. Per esempi di codice, visitare il repository delle funzioni MCP remote di esempio.
- Il server MCP di Azure implementa la specifica MCP per connettere facilmente gli agenti di intelligenza artificiale ai servizi chiave di Azure, ad esempio Archiviazione di Azure, Cosmos DB e altro ancora.
Altre informazioni su .NET e MCP usando queste risorse:
- Microsoft collabora con Anthropic per creare l'SDK C# ufficiale per il Model Context Protocol
- Creare un server MCP (Model Context Protocol) in C#
- LEGGIMI DI MCP C# SDK