Dela via


Kom igång med .NET AI och Model Context Protocol

Model Context Protocol (MCP) är ett öppet protokoll som utformats för att standardisera integreringar mellan AI-appar och externa verktyg och datakällor. Genom att använda MCP kan utvecklare förbättra funktionerna i AI-modeller, så att de kan skapa mer exakta, relevanta och sammanhangsmedvetna svar.

Om du till exempel använder MCP kan du ansluta din LLM till resurser som:

  • Dokumentera databaser eller lagringstjänster.
  • Webb-API:er som exponerar affärsdata eller logik.
  • Verktyg som hanterar filer eller utför lokala uppgifter på en användares enhet.

Många Microsoft-produkter har redan stöd för MCP, bland annat:

Du kan använda MCP C# SDK för att snabbt skapa egna MCP-integreringar och växla mellan olika AI-modeller utan betydande kodändringar.

MCP-klientserverarkitektur

MCP använder en klientserverarkitektur som möjliggör att en AI-driven app (hosten) kan ansluta till flera MCP-servrar genom MCP-klienter.

  • MCP-värdar: AI-verktyg, kodredigerare eller annan programvara som förbättrar deras AI-modeller med hjälp av kontextuella resurser via MCP. GitHub Copilot i Visual Studio Code kan till exempel fungera som MCP-värd och använda MCP-klienter och -servrar för att utöka dess funktioner.
  • MCP-klienter: Klienter som används av värdprogrammet för att ansluta till MCP-servrar för att hämta kontextuella data.
  • MCP-servrar: Tjänster som exponerar funktioner för klienter via MCP. En MCP-server kan till exempel tillhandahålla en abstraktion över ett REST API eller en lokal datakälla för att tillhandahålla affärsdata till AI-modellen.

Följande diagram illustrerar den här arkitekturen:

Ett diagram som visar MCP:s arkitekturmönster, inklusive värdar, klienter och servrar.

MCP-klienten och -servern kan utbyta en uppsättning standardmeddelanden:

Meddelande Beskrivning
InitializeRequest Den här begäran skickas av klienten till servern när den först ansluter och ber den att påbörja initieringen.
ListToolsRequest Skickas av klienten för att begära en lista över verktyg som servern har.
CallToolRequest Används av klienten för att anropa ett verktyg som tillhandahålls av servern.
ListResourcesRequest Skickas av klienten för att begära en lista över tillgängliga serverresurser.
ReadResourceRequest Skickas av klienten till servern för att läsa en specifik resurs-URI.
ListPromptsRequest Skickas av klienten för att begära en lista över tillgängliga prompter och promptmallar från servern.
GetPromptRequest Används av klienten för att få en uppmaning från servern.
PingRequest En ping utfärdad av antingen servern eller klienten för att kontrollera att den andra parten fortfarande lever.
CreateMessageRequest En begäran från servern om att prova en LLM via klienten. Klienten har fullständig diskretion över vilken modell som ska väljas. Klienten bör också informera användaren innan urvalsprocessen påbörjas, så att hen kan inspektera begäran (människa i loopen) och besluta om den ska godkännas.
SetLevelRequest En begäran från klienten till servern om att aktivera eller justera loggning.

Utveckla med MCP C# SDK

Som .NET-utvecklare kan du använda MCP genom att skapa MCP-klienter och -servrar för att förbättra dina appar med anpassade integreringar. MCP minskar komplexiteten i att ansluta en AI-modell till olika verktyg, tjänster och datakällor.

Den officiella MCP C# SDK:n är tillgänglig via NuGet och gör att du kan skapa MCP-klienter och -servrar för .NET-appar och -bibliotek. SDK:t underhålls genom samarbete mellan Microsoft, Anthropic och organisationen för öppna MCP-protokoll.

Kom igång genom att lägga till MCP C# SDK i projektet:

dotnet add package ModelContextProtocol --prerelease

I stället för att skapa unika anslutningsappar för varje integrationsplats kan du ofta använda eller referera till fördefinierade integreringar från olika leverantörer som GitHub och Docker:

Integrering med Microsoft.Extensions.AI

MCP C# SDK är beroende av Microsoft.Extensions.AI bibliotek för att hantera olika AI-interaktioner och uppgifter. Dessa tilläggsbibliotek innehåller kärntyper och abstraktioner för att arbeta med AI-tjänster, så att utvecklare kan fokusera på att koda mot konceptuella AI-funktioner snarare än specifika plattformar eller providerimplementeringar.

Visa MCP C# SDK-beroenden på NuGet-paketsidan.

Fler .NET MCP-utvecklingsresurser

Olika verktyg, tjänster och utbildningsresurser finns tillgängliga i .NET- och Azure-ekosystemen för att hjälpa dig att skapa MCP-klienter och -servrar eller integrera med befintliga MCP-servrar.

Kom igång med följande utvecklingsverktyg:

Läs mer om .NET och MCP med hjälp av dessa resurser: