Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
In dieser Schnellstartanleitung erstellen Sie einen minimalen MCP-Client (Model Context Protocol) mit dem C#-SDK für MCP. Außerdem erfahren Sie, wie Sie den Client so konfigurieren, dass eine Verbindung mit einem MCP-Server hergestellt wird, z. B. der im Schnellstart zum Erstellen eines minimalen MCP-Servers erstellten.
Voraussetzungen
Hinweis
Der MCP-Client, den Sie in den folgenden Abschnitten erstellen, stellt eine Verbindung mit dem MCP-Beispielserver aus dem Schnellstart zum Erstellen eines minimalen MCP-Servers her. Sie können auch Ihren eigenen MCP-Server verwenden, wenn Sie Ihre eigene Verbindungskonfiguration bereitstellen.
Erstellen der .NET-Host-App
Führen Sie die folgenden Schritte aus, um eine .NET-Konsolen-App zu erstellen. Die App fungiert als Host für einen MCP-Client, der eine Verbindung mit einem MCP-Server herstellt.
Erstelle das Projekt
Navigieren Sie in einem Terminalfenster zu dem Verzeichnis, in dem Sie Ihre App erstellen möchten, und erstellen Sie eine neue Konsolen-App mit dem
dotnet newBefehl:dotnet new console -n MCPHostAppNavigieren Sie zum neu erstellten Projektordner:
cd MCPHostAppFühren Sie die folgenden Befehle aus, um die erforderlichen NuGet-Pakete hinzuzufügen:
dotnet add package Azure.AI.OpenAI --prerelease dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.AI dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package ModelContextProtocol --prereleaseÖffnen Sie den Projektordner in Ihrem Editor, z. B. Visual Studio Code:
code .
Fügen Sie den App-Code hinzu
Ersetzen Sie den Inhalt von Program.cs durch den folgenden Code.
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Extensions.AI;
using ModelContextProtocol.Client;
// Create an IChatClient using Azure OpenAI.
IChatClient client =
new ChatClientBuilder(
new AzureOpenAIClient(new Uri("<your-azure-openai-endpoint>"),
new DefaultAzureCredential())
.GetChatClient("gpt-4o").AsIChatClient())
.UseFunctionInvocation()
.Build();
// Create the MCP client
// Configure it to start and connect to your MCP server.
IMcpClient mcpClient = await McpClientFactory.CreateAsync(
new StdioClientTransport(new()
{
Command = "dotnet run",
Arguments = ["--project", "<path-to-your-mcp-server-project>"],
Name = "Minimal MCP Server",
}));
// List all available tools from the MCP server.
Console.WriteLine("Available tools:");
IList<McpClientTool> tools = await mcpClient.ListToolsAsync();
foreach (McpClientTool tool in tools)
{
Console.WriteLine($"{tool}");
}
Console.WriteLine();
// Conversational loop that can utilize the tools via prompts.
List<ChatMessage> messages = [];
while (true)
{
Console.Write("Prompt: ");
messages.Add(new(ChatRole.User, Console.ReadLine()));
List<ChatResponseUpdate> updates = [];
await foreach (ChatResponseUpdate update in client
.GetStreamingResponseAsync(messages, new() { Tools = [.. tools] }))
{
Console.Write(update);
updates.Add(update);
}
Console.WriteLine();
messages.AddMessages(updates);
}
Der vorangehende Code führt die folgenden Aufgaben aus:
- Initialisiert eine
IChatClientAbstraktion mithilfe derMicrosoft.Extensions.AIBibliotheken. - Erstellt einen MCP-Client und konfiguriert ihn, um eine Verbindung mit Ihrem MCP-Server herzustellen.
- Ruft eine Liste der verfügbaren Tools vom MCP-Server ab und zeigt sie an, bei dem es sich um eine standardmäßige MCP-Funktion handelt.
- Implementiert eine Unterhaltungsschleife, die Benutzeraufforderungen verarbeitet und die Tools für Antworten verwendet.
Ausführen und Testen der App
Führen Sie die folgenden Schritte aus, um Ihre .NET-Host-App zu testen:
Führen Sie in einem Terminalfenster, das im Stammverzeichnis Ihres Projekts geöffnet ist, den folgenden Befehl aus, um die App zu starten:
dotnet runSobald die App ausgeführt wird, geben Sie eine Eingabeaufforderung ein, um das ReverseEcho-Tool auszuführen:
Reverse the following: "Hello, minimal MCP server!"Stellen Sie sicher, dass der Server mit der echoierten Nachricht antwortet:
!revres PCM laminim ,olleH