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.
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 new
Befehl:dotnet new console -n MCPHostApp
Navigieren Sie zum neu erstellten Projektordner:
cd MCPHostApp
Fü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
IChatClient
Abstraktion mithilfe derMicrosoft.Extensions.AI
Bibliotheken. - 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 run
Sobald 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