Delen via


Aan de slag met .NET AI en het Model Context Protocol

Model Context Protocol (MCP) is een open protocol dat is ontworpen om integraties tussen AI-apps en externe hulpprogramma's en gegevensbronnen te standaardiseren. Door MCP te gebruiken, kunnen ontwikkelaars de mogelijkheden van AI-modellen verbeteren, zodat ze nauwkeurigere, relevantere en contextbewuste reacties kunnen produceren.

Met MCP kunt u uw LLM bijvoorbeeld verbinden met resources zoals:

  • Documentdatabases of opslagdiensten.
  • Web-API's die zakelijke gegevens of logica beschikbaar maken.
  • Hulpprogramma's voor het beheren van bestanden of het uitvoeren van lokale taken op het apparaat van een gebruiker.

Veel Microsoft-producten bieden al ondersteuning voor MCP, waaronder:

U kunt de MCP C#-SDK gebruiken om snel uw eigen MCP-integraties te maken en tussen verschillende AI-modellen te schakelen zonder belangrijke codewijzigingen.

MCP-clientserverarchitectuur

MCP maakt gebruik van een client-serverarchitectuur waarmee een AI-app (de host) verbinding kan maken met meerdere MCP-servers via MCP-clients:

  • MCP-hosts: AI-hulpprogramma's, code-editors of andere software die hun AI-modellen verbeteren met behulp van contextuele resources via MCP. GitHub Copilot in Visual Studio Code kan bijvoorbeeld fungeren als een MCP-host en MCP-clients en -servers gebruiken om de mogelijkheden uit te breiden.
  • MCP-clients: clients die door de hosttoepassing worden gebruikt om verbinding te maken met MCP-servers om contextuele gegevens op te halen.
  • MCP-servers: Services die mogelijkheden beschikbaar maken voor clients via MCP. Een MCP-server kan bijvoorbeeld een abstractie bieden via een REST API of lokale gegevensbron om zakelijke gegevens aan het AI-model te leveren.

In het volgende diagram ziet u deze architectuur:

Een diagram met het architectuurpatroon van MCP, inclusief hosts, clients en servers.

MCP-client en -server kunnen een set standaardberichten uitwisselen:

Bericht Beschrijving
InitializeRequest Deze aanvraag wordt door de client naar de server verzonden wanneer deze voor het eerst verbinding maakt, waarin wordt gevraagd om te beginnen met initialisatie.
ListToolsRequest Verzonden door de client om een lijst aan te vragen met hulpprogramma's die de server heeft.
CallToolRequest Wordt door de client gebruikt om een hulpprogramma aan te roepen dat door de server wordt geleverd.
ListResourcesRequest Verzonden door de client om een lijst met beschikbare serverbronnen aan te vragen.
ReadResourceRequest Verzonden door de client naar de server om een specifieke resource-URI te lezen.
ListPromptsRequest Verzonden door de client om een lijst met beschikbare prompts en promptsjablonen van de server aan te vragen.
GetPromptRequest Wordt door de client gebruikt om een prompt van de server te krijgen.
PingRequest Een ping, uitgegeven door de server of de client, om te controleren of de andere partij nog actief is.
CreateMessageRequest Een aanvraag van de server om een LLM te samplen via de client. De client heeft volledige discretie over welk model moet worden geselecteerd. De klant moet de gebruiker ook informeren voordat hij begint met het nemen van steekproeven, zodat de gebruiker de aanvraag kan inspecteren (menselijke tussenkomst) en beslissen of deze moet worden goedgekeurd.
SetLevelRequest Een aanvraag van de client naar de server om logboekregistratie in te schakelen of aan te passen.

Ontwikkelen met de MCP C#SDK

Als .NET-ontwikkelaar kunt u MCP gebruiken door MCP-clients en -servers te maken om uw apps te verbeteren met aangepaste integraties. MCP vermindert de complexiteit die betrokken is bij het verbinden van een AI-model met verschillende hulpprogramma's, services en gegevensbronnen.

De officiële MCP C#-SDK is beschikbaar via NuGet en stelt u in staat MCP-clients en -servers te bouwen voor .NET-apps en -bibliotheken. De SDK wordt onderhouden via samenwerking tussen Microsoft, Antropic en de open protocolorganisatie MCP.

Voeg de MCP C#SDK toe aan uw project om aan de slag te gaan:

dotnet add package ModelContextProtocol --prerelease

In plaats van unieke connectors te bouwen voor elk integratiepunt, kunt u vaak gebruikmaken van vooraf samengestelde integraties van verschillende providers, zoals GitHub en Docker:

Integratie met Microsoft.Extensions.AI

De MCP C#-SDK is afhankelijk van de Microsoft.Extensions.AI bibliotheken voor het afhandelen van verschillende AI-interacties en -taken. Deze extensiebibliotheken bieden kerntypen en abstracties voor het werken met AI-services, zodat ontwikkelaars zich kunnen richten op coderen op basis van conceptuele AI-mogelijkheden in plaats van op specifieke platforms of provider-implementaties.

Bekijk de MCP C#SDK-afhankelijkheden op de NuGet-pakketpagina.

Meer .NET MCP-ontwikkelresources

Er zijn verschillende hulpprogramma's, services en leerbronnen beschikbaar in de .NET- en Azure-ecosystemen waarmee u MCP-clients en -servers kunt bouwen of kunt integreren met bestaande MCP-servers.

Ga aan de slag met de volgende ontwikkelhulpprogramma's:

Zie ook