Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous générez un client MCP (Model Context Protocol) minimal à l’aide du SDK C# pour MCP. Vous allez également apprendre à configurer le client pour qu’il se connecte à un serveur MCP, tel que celui créé dans le guide de démarrage rapide de build d’un serveur MCP minimal .
Conditions préalables
Remarque
Le client MCP que vous générez dans les sections suivantes se connecte à l'exemple de serveur MCP à partir du démarrage rapide Construire un serveur MCP minimal Vous pouvez également utiliser votre propre serveur MCP si vous fournissez votre propre configuration de connexion.
Créer l’application hôte .NET
Effectuez les étapes suivantes pour créer une application console .NET. L’application agit en tant qu’hôte pour un client MCP qui se connecte à un serveur MCP.
Créer le projet
Dans une fenêtre de terminal, accédez au répertoire dans lequel vous souhaitez créer votre application et créez une application console avec la
dotnet newcommande :dotnet new console -n MCPHostAppAccédez au dossier de projet nouvellement créé :
cd MCPHostAppExécutez les commandes suivantes pour ajouter les packages NuGet nécessaires :
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 --prereleaseOuvrez le dossier du projet dans votre éditeur de choix, par exemple Visual Studio Code :
code .
Ajoutez le code de l’application
Remplacez le contenu de Program.cs par le code suivant :
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);
}
Le code précédent effectue les tâches suivantes :
- Initialise une abstraction
IChatClienten utilisant les bibliothèquesMicrosoft.Extensions.AI. - Crée un client MCP et le configure pour se connecter à votre serveur MCP.
- Récupère et affiche une liste d’outils disponibles à partir du serveur MCP, qui est une fonction MCP standard.
- Implémente une boucle conversationnelle qui traite les requêtes des utilisateurs et utilise les outils pour formuler des réponses.
Exécuter et tester l’application
Effectuez les étapes suivantes pour tester votre application hôte .NET :
Dans une fenêtre de terminal ouverte à la racine de votre projet, exécutez la commande suivante pour démarrer l’application :
dotnet runUne fois l’application en cours d’exécution, entrez une invite pour exécuter l’outil ReverseEcho :
Reverse the following: "Hello, minimal MCP server!"Vérifiez que le serveur répond avec le message écho :
!revres PCM laminim ,olleH
Contenu connexe
Prise en main de .NET AI et du protocole de contexte de modèle