Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Model Context Protocol (MCP) ist ein offenes Protokoll, das die Integrationen zwischen KI-Apps und externen Tools und Datenquellen standardisiert. Mithilfe von MCP können Entwickler die Fähigkeiten von KI-Modellen verbessern, sodass diese präzisere, relevantere und kontextbewusste Antworten geben.
Beispielsweise können Sie mithilfe von MCP Ihre LLM mit Ressourcen verbinden, z. B.:
- Dokumentdatenbanken oder Speicherdienste.
- Web-APIs, die Geschäftsdaten oder -logik verfügbar machen.
- Tools, die Dateien verwalten oder lokale Aufgaben auf dem Gerät eines Benutzers ausführen.
Viele Microsoft-Produkte unterstützen bereits MCP, einschließlich:
Sie können das MCP C#-SDK verwenden, um schnell eigene MCP-Integrationen zu erstellen und ohne erhebliche Codeänderungen zwischen verschiedenen AI-Modellen zu wechseln.
MCP-Clientserverarchitektur
MCP verwendet eine Clientserverarchitektur, die es einer KI-basierten App (dem Host) ermöglicht, über MCP-Clients eine Verbindung mit mehreren MCP-Servern herzustellen:
- MCP-Hosts: KI-Tools, Code-Editoren oder andere Software, die ihre KI-Modelle mithilfe von Kontextressourcen über MCP verbessern. Beispielsweise kann GitHub Copilot in Visual Studio Code als MCP-Host fungieren und MCP-Clients und -Server verwenden, um seine Funktionen zu erweitern.
- MCP-Clients: Clients, die von der Hostanwendung zum Herstellen einer Verbindung mit MCP-Servern verwendet werden, um Kontextdaten abzurufen.
- MCP-Server: Dienste, die Funktionen für Clients über MCP verfügbar machen. Beispielsweise kann ein MCP-Server eine Abstraktion über eine REST-API oder lokale Datenquelle bereitstellen, um geschäftsdaten für das KI-Modell bereitzustellen.
Das folgende Diagramm veranschaulicht diese Architektur:
MCP-Client und -Server können eine Reihe von Standardnachrichten austauschen:
Nachricht | BESCHREIBUNG |
---|---|
InitializeRequest |
Diese Anforderung wird vom Client an den Server gesendet, wenn sie zuerst eine Verbindung herstellt, und fordert sie auf, mit der Initialisierung zu beginnen. |
ListToolsRequest |
Vom Client gesendet, um eine Liste der Tools anzufordern, die der Server hat. |
CallToolRequest |
Wird vom Client verwendet, um ein vom Server bereitgestelltes Tool aufzurufen. |
ListResourcesRequest |
Vom Client gesendet, um eine Liste der verfügbaren Serverressourcen anzufordern. |
ReadResourceRequest |
Vom Client an den Server gesendet, um einen bestimmten Ressourcen-URI zu lesen. |
ListPromptsRequest |
Vom Client gesendet, um eine Liste der verfügbaren Eingabeaufforderungen und Aufforderungsvorlagen vom Server anzufordern. |
GetPromptRequest |
Wird vom Client verwendet, um eine Vom Server bereitgestellte Eingabeaufforderung abzurufen. |
PingRequest |
Ein Ping, der entweder vom Server oder vom Client ausgestellt wurde, um zu überprüfen, ob die andere Partei noch aktiv ist. |
CreateMessageRequest |
Eine Anforderung des Servers zum Abrufen eines LLM über den Client. Der Kunde hat volle Diskretion darüber, welches Modell ausgewählt werden soll. Der Kunde sollte den Benutzer auch vor Beginn des Samplings informieren, damit er die Anfrage (Mensch im Prozess) prüfen und entscheiden kann, ob die Anfrage genehmigt werden soll. |
SetLevelRequest |
Eine Anforderung des Clients an den Server, um die Protokollierung zu aktivieren oder anzupassen. |
Entwickeln mit dem MCP C#-SDK
Als .NET-Entwickler können Sie MCP verwenden, indem Sie MCP-Clients und -Server erstellen, um Ihre Apps mit benutzerdefinierten Integrationen zu verbessern. MCP reduziert die Komplexität beim Verbinden eines KI-Modells mit verschiedenen Tools, Diensten und Datenquellen.
Das offizielle MCP C#-SDK ist über NuGet verfügbar und ermöglicht es Ihnen, MCP-Clients und -Server für .NET-Apps und -Bibliotheken zu erstellen. Das SDK wird durch die Zusammenarbeit zwischen Microsoft, Anthropic und der organisation des offenen MCP-Protokolls verwaltet.
Fügen Sie zunächst das MCP C#-SDK zu Ihrem Projekt hinzu:
dotnet add package ModelContextProtocol --prerelease
Anstatt eindeutige Connectors für jeden Integrationspunkt zu erstellen, können Sie häufig vordefinierte Integrationen von verschiedenen Anbietern wie GitHub und Docker nutzen oder referenzieren:
Integration mit Microsoft.Extensions.AI
Das MCP C#-SDK hängt von den Microsoft.Extensions.AI Bibliotheken ab, um verschiedene KI-Interaktionen und -Aufgaben zu verarbeiten. Diese Erweiterungsbibliotheken bieten Kerntypen und Abstraktionen für die Arbeit mit KI-Diensten, sodass Entwickler sich auf die Codierung mit konzeptionellen KI-Funktionen statt auf bestimmten Plattformen oder Anbieterimplementierungen konzentrieren können.
Zeigen Sie die MCP C#-SDK-Abhängigkeiten auf der NuGet-Paketseite an.
Weitere .NET MCP-Entwicklungsressourcen
Verschiedene Tools, Dienste und Lernressourcen stehen in den .NET- und Azure-Ökosystemen zur Verfügung, mit denen Sie MCP-Clients und -Server erstellen oder in vorhandene MCP-Server integrieren können.
Erste Schritte mit den folgenden Entwicklungstools:
- Mit dem semantischen Kernel können Sie Plug-Ins für MCP-Server hinzufügen. Der semantische Kernel unterstützt sowohl lokale MCP-Server über Standard-E/A als auch Remoteserver, die über SSE über HTTPS eine Verbindung herstellen.
- Azure Functions-Remote-MCP-Server kombinieren MCP-Standards mit der flexiblen Architektur von Azure Functions. Besuchen Sie das Beispiel-Repository für Remote-MCP-Funktionen für Codebeispiele.
- Azure MCP Server implementiert die MCP-Spezifikation , um KI-Agents nahtlos mit wichtigen Azure-Diensten wie Azure Storage, Cosmos DB und mehr zu verbinden.
Weitere Informationen zu .NET und MCP mithilfe dieser Ressourcen:
- Microsoft arbeitet mit Anthropic zusammen, um das offizielle C# SDK für das Modellkontextprotokoll zu erstellen.
- Erstellen eines MCP-Servers (Model Context Protocol) in C#
- MCP C#SDK README