(Clicca sull'immagine sopra per visualizzare il video di questa lezione)
L'implementazione pratica è il momento in cui il potenziale del Model Context Protocol (MCP) diventa concreto. Sebbene comprendere la teoria e l'architettura dietro MCP sia importante, il vero valore emerge quando si applicano questi concetti per costruire, testare e distribuire soluzioni che risolvono problemi reali. Questo capitolo colma il divario tra conoscenza concettuale e sviluppo pratico, guidandoti nel processo di creazione di applicazioni basate su MCP.
Che tu stia sviluppando assistenti intelligenti, integrando l'IA nei flussi di lavoro aziendali o costruendo strumenti personalizzati per l'elaborazione dei dati, MCP offre una base flessibile. Il suo design indipendente dal linguaggio e gli SDK ufficiali per i linguaggi di programmazione più diffusi lo rendono accessibile a una vasta gamma di sviluppatori. Sfruttando questi SDK, puoi prototipare rapidamente, iterare e scalare le tue soluzioni su diverse piattaforme e ambienti.
Nelle sezioni seguenti troverai esempi pratici, codice di esempio e strategie di distribuzione che dimostrano come implementare MCP in C#, Java con Spring, TypeScript, JavaScript e Python. Imparerai anche come eseguire il debug e testare i server MCP, gestire le API e distribuire soluzioni nel cloud utilizzando Azure. Queste risorse pratiche sono progettate per accelerare il tuo apprendimento e aiutarti a costruire con sicurezza applicazioni MCP robuste e pronte per la produzione.
Questa lezione si concentra sugli aspetti pratici dell'implementazione di MCP in diversi linguaggi di programmazione. Esploreremo come utilizzare gli SDK MCP in C#, Java con Spring, TypeScript, JavaScript e Python per costruire applicazioni robuste, eseguire il debug e testare i server MCP e creare risorse, prompt e strumenti riutilizzabili.
Alla fine di questa lezione, sarai in grado di:
- Implementare soluzioni MCP utilizzando gli SDK ufficiali in vari linguaggi di programmazione
- Eseguire il debug e testare i server MCP in modo sistematico
- Creare e utilizzare funzionalità del server (Risorse, Prompt e Strumenti)
- Progettare flussi di lavoro MCP efficaci per compiti complessi
- Ottimizzare le implementazioni MCP per prestazioni e affidabilità
Il Model Context Protocol offre SDK ufficiali per diversi linguaggi:
- C# SDK
- Java con Spring SDK Nota: richiede la dipendenza da Project Reactor. (Vedi discussione issue 246.)
- TypeScript SDK
- Python SDK
- Kotlin SDK
Questa sezione fornisce esempi pratici di implementazione di MCP in diversi linguaggi di programmazione. Puoi trovare codice di esempio nella directory samples organizzata per linguaggio.
Il repository include implementazioni di esempio nei seguenti linguaggi:
Ogni esempio dimostra concetti chiave di MCP e modelli di implementazione per quello specifico linguaggio ed ecosistema.
I server MCP possono implementare qualsiasi combinazione di queste funzionalità:
Le risorse forniscono contesto e dati per l'utente o il modello AI da utilizzare:
- Repository di documenti
- Basi di conoscenza
- Fonti di dati strutturati
- Sistemi di file
I prompt sono messaggi e flussi di lavoro predefiniti per gli utenti:
- Modelli di conversazione predefiniti
- Modelli di interazione guidata
- Strutture di dialogo specializzate
Gli strumenti sono funzioni che il modello AI può eseguire:
- Utilità di elaborazione dati
- Integrazioni API esterne
- Capacità computazionali
- Funzionalità di ricerca
Il repository ufficiale dell'SDK C# contiene diverse implementazioni di esempio che dimostrano diversi aspetti di MCP:
- Client MCP di base: Esempio semplice che mostra come creare un client MCP e chiamare strumenti
- Server MCP di base: Implementazione minima del server con registrazione di strumenti di base
- Server MCP avanzato: Server completo con registrazione di strumenti, autenticazione e gestione degli errori
- Integrazione con ASP.NET: Esempi che dimostrano l'integrazione con ASP.NET Core
- Modelli di implementazione degli strumenti: Vari modelli per implementare strumenti con diversi livelli di complessità
L'SDK C# MCP è in anteprima e le API potrebbero cambiare. Aggiorneremo continuamente questo blog man mano che l'SDK evolve.
- C# MCP Nuget ModelContextProtocol
- Costruire il tuo primo server MCP.
Per esempi completi di implementazione in C#, visita il repository ufficiale degli esempi SDK C#
L'SDK Java con Spring offre opzioni di implementazione MCP robuste con funzionalità di livello enterprise.
- Integrazione con il framework Spring
- Forte sicurezza dei tipi
- Supporto alla programmazione reattiva
- Gestione completa degli errori
Per un esempio completo di implementazione in Java con Spring, vedi Java con Spring sample nella directory degli esempi.
L'SDK JavaScript offre un approccio leggero e flessibile all'implementazione di MCP.
- Supporto per Node.js e browser
- API basata su Promise
- Facile integrazione con Express e altri framework
- Supporto WebSocket per lo streaming
Per un esempio completo di implementazione in JavaScript, vedi JavaScript sample nella directory degli esempi.
L'SDK Python offre un approccio Pythonico all'implementazione di MCP con eccellenti integrazioni ai framework ML.
- Supporto async/await con asyncio
- Integrazione con FastAPI
- Registrazione semplice degli strumenti
- Integrazione nativa con librerie ML popolari
Per un esempio completo di implementazione in Python, vedi Python sample nella directory degli esempi.
Azure API Management è una soluzione eccellente per proteggere i server MCP. L'idea è di posizionare un'istanza di Azure API Management davanti al tuo server MCP e lasciare che gestisca funzionalità che probabilmente desideri, come:
- limitazione della velocità
- gestione dei token
- monitoraggio
- bilanciamento del carico
- sicurezza
Ecco un esempio Azure che fa esattamente questo, ovvero creare un server MCP e proteggerlo con Azure API Management.
Guarda come avviene il flusso di autorizzazione nell'immagine seguente:
Nell'immagine precedente, avviene quanto segue:
- L'autenticazione/autorizzazione avviene utilizzando Microsoft Entra.
- Azure API Management agisce come gateway e utilizza politiche per dirigere e gestire il traffico.
- Azure Monitor registra tutte le richieste per ulteriori analisi.
Esaminiamo più nel dettaglio il flusso di autorizzazione:
Scopri di più sulla specifica di autorizzazione MCP
Vediamo se possiamo distribuire l'esempio menzionato in precedenza:
-
Clona il repository
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Registra il provider di risorse
Microsoft.App.- Se stai usando Azure CLI, esegui
az provider register --namespace Microsoft.App --wait. - Se stai usando Azure PowerShell, esegui
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Poi esegui(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationStatedopo un po' di tempo per verificare se la registrazione è completa.
- Se stai usando Azure CLI, esegui
-
Esegui questo comando azd per fornire il servizio di gestione delle API, l'app delle funzioni (con codice) e tutte le altre risorse Azure necessarie
azd up
Questo comando dovrebbe distribuire tutte le risorse cloud su Azure
-
In una nuova finestra del terminale, installa ed esegui MCP Inspector
npx @modelcontextprotocol/inspector
Dovresti vedere un'interfaccia simile a:
-
CTRL clicca per caricare l'app web MCP Inspector dall'URL visualizzato dall'app (es. http://127.0.0.1:6274/#resources)
-
Imposta il tipo di trasporto su
SSE -
Imposta l'URL sul tuo endpoint SSE di gestione API visualizzato dopo
azd upe Connetti:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Elenca Strumenti. Clicca su uno strumento e Esegui Strumento.
Se tutti i passaggi hanno funzionato, ora dovresti essere connesso al server MCP e sei stato in grado di chiamare uno strumento.
Remote-mcp-functions: Questo set di repository è un modello di avvio rapido per costruire e distribuire server MCP remoti personalizzati utilizzando Azure Functions con Python, C# .NET o Node/TypeScript.
Gli esempi forniscono una soluzione completa che consente agli sviluppatori di:
- Costruire ed eseguire localmente: Sviluppare e eseguire il debug di un server MCP su una macchina locale
- Distribuire su Azure: Distribuire facilmente nel cloud con un semplice comando azd up
- Connettersi dai client: Connettersi al server MCP da vari client, inclusa la modalità agente di Copilot di VS Code e lo strumento MCP Inspector
- Sicurezza integrata: Il server MCP è protetto utilizzando chiavi e HTTPS
- Opzioni di autenticazione: Supporta OAuth utilizzando l'autenticazione integrata e/o la gestione delle API
- Isolamento di rete: Consente l'isolamento di rete utilizzando le reti virtuali di Azure (VNET)
- Architettura serverless: Sfrutta Azure Functions per un'esecuzione scalabile e basata su eventi
- Sviluppo locale: Supporto completo per lo sviluppo e il debug locale
- Distribuzione semplice: Processo di distribuzione semplificato su Azure
Il repository include tutti i file di configurazione necessari, il codice sorgente e le definizioni dell'infrastruttura per iniziare rapidamente con un'implementazione di server MCP pronta per la produzione.
-
Azure Remote MCP Functions Python - Implementazione di esempio di MCP utilizzando Azure Functions con Python
-
Azure Remote MCP Functions .NET - Implementazione di esempio di MCP utilizzando Azure Functions con C# .NET
-
Azure Remote MCP Functions Node/Typescript - Implementazione di esempio di MCP utilizzando Azure Functions con Node/TypeScript.
- Gli SDK MCP forniscono strumenti specifici per linguaggio per implementare soluzioni MCP robuste
- Il processo di debug e test è fondamentale per applicazioni MCP affidabili
- I modelli di prompt riutilizzabili consentono interazioni AI coerenti
- Flussi di lavoro ben progettati possono orchestrare compiti complessi utilizzando più strumenti
- Implementare soluzioni MCP richiede considerazioni su sicurezza, prestazioni e gestione degli errori
Progetta un flusso di lavoro MCP pratico che affronti un problema reale nel tuo dominio:
- Identifica 3-4 strumenti che sarebbero utili per risolvere questo problema
- Crea un diagramma del flusso di lavoro che mostri come questi strumenti interagiscono
- Implementa una versione di base di uno degli strumenti utilizzando il tuo linguaggio preferito
- Crea un modello di prompt che aiuti il modello a utilizzare efficacemente il tuo strumento
Prossimo: Argomenti Avanzati
Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione.



