Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém průvodci vytvoříte minimálního klienta MCP (Model Context Protocol) pomocí C# SDK pro MCP. Dozvíte se také, jak nakonfigurovat klienta pro připojení k serveru MCP, například klienta vytvořeného v rychlém startu sestavení minimálního serveru MCP .
Požadavky
Poznámka:
Klient MCP, který sestavíte v následujících oddílech, se připojí k ukázkovému serveru MCP z návodu Rychlý start: Sestavení minimálního serveru MCP. Pokud zadáte vlastní konfiguraci připojení, můžete také použít vlastní server MCP.
Vytvoření hostitelské aplikace .NET
Provedením následujících kroků vytvořte konzolovou aplikaci .NET. Aplikace funguje jako hostitel klienta MCP, který se připojuje k serveru MCP.
Vytvoření projektu
V okně terminálu přejděte do adresáře, do kterého chcete aplikaci vytvořit, a pomocí příkazu vytvořte novou konzolovou
dotnet newaplikaci:dotnet new console -n MCPHostAppPřejděte do nově vytvořené složky projektu:
cd MCPHostAppSpuštěním následujících příkazů přidejte potřebné balíčky NuGet:
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 --prereleaseOtevřete složku projektu ve zvoleném editoru, například Visual Studio Code:
code .
Přidání kódu aplikace
Obsah Program.cs nahraďte následujícím kódem:
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);
}
Předchozí kód provádí následující úlohy:
- Inicializuje
IChatClientabstrakci pomocíMicrosoft.Extensions.AIknihoven. - Vytvoří klienta MCP a nakonfiguruje ho pro připojení k serveru MCP.
- Načte a zobrazí seznam dostupných nástrojů ze serveru MCP, což je standardní funkce MCP.
- Implementuje konverzační smyčku, která zpracovává výzvy uživatelů a využívá nástroje pro odpovědi.
Spuštění a otestování aplikace
Provedením následujících kroků otestujte hostitelskou aplikaci .NET:
V okně terminálu otevřete kořen projektu a spusťte aplikaci spuštěním následujícího příkazu:
dotnet runPo spuštění aplikace zadejte výzvu ke spuštění nástroje ReverseEcho :
Reverse the following: "Hello, minimal MCP server!"Ověřte, že server odpoví ozvěnou zprávou:
!revres PCM laminim ,olleH