Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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:
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:
- Med semantisk kernel kan du lägga till plugin-program för MCP-servrar. Semantisk kernel stöder både lokala MCP-servrar via standard-I/O och fjärrservrar som ansluter via SSE via HTTPS.
- Azure Functions fjärr-MCP-servrar kombinerar MCP-standarder med den flexibla arkitekturen i Azure Functions. Gå till exempellagringsplatsen för fjärranvändning av MCP-funktioner för kodexempel.
- Azure MCP Server implementerar MCP-specifikationen för att sömlöst ansluta AI-agenter till viktiga Azure-tjänster som Azure Storage, Cosmos DB med mera.
Läs mer om .NET och MCP med hjälp av dessa resurser:
- Microsoft samarbetar med Anthropic för att skapa officiell C# SDK för Model Context Protocol
- Skapa en MCP-server (Model Context Protocol) i C#
- MCP C# SDK README