Il Model Context Protocol (MCP) è uno standard aperto che permette agli assistenti e agli agenti di IA di usare strumenti e dati esterni in modo uniforme. Si scrive un server MCP una volta e lo possono usare tutti i client compatibili: ambienti di sviluppo, assistenti desktop, agenti costruiti con i framework .NET.
Un server MCP minimo
L'SDK ufficiale per C# (pacchetto ModelContextProtocol) si integra con l'host generico di .NET:
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using ModelContextProtocol.Server;
using System.ComponentModel;
var builder = Host.CreateApplicationBuilder(args);
builder.Services
.AddMcpServer()
.WithStdioServerTransport()
.WithToolsFromAssembly();
await builder.Build().RunAsync();
[McpServerToolType]
public static class StrumentiMagazzino
{
[McpServerTool, Description("Restituisce la giacenza di un articolo dato il codice.")]
public static int Giacenza([Description("Codice articolo")] string codice) =>
codice == "ABC-123" ? 42 : 0;
}
Con il trasporto stdio il client avvia il server come processo locale; per servizi condivisi si usa il trasporto HTTP, ospitato in un'applicazione ASP.NET Core.
Strumenti, risorse e prompt
- Strumenti: funzioni che l'agente può eseguire.
- Risorse: dati che il client può leggere, come documenti o record.
- Prompt: modelli di richiesta predefiniti offerti all'utente.
Sicurezza prima di tutto
Un server MCP apre la tua applicazione a un agente che agisce per conto di un utente. Valgono le regole di qualsiasi API: autenticazione per i server remoti, permessi minimi, validazione degli argomenti, limiti di frequenza e registro delle operazioni. Gli strumenti che modificano dati dovrebbero richiedere una conferma esplicita, e i testi restituiti da fonti esterne vanno trattati come non fidati, perché potrebbero contenere istruzioni malevole destinate all'agente.
Commenti (0)
Nessun commento ancora.