Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, MCP için C# SDK'sını kullanarak en düşük Model Bağlam Protokolü (MCP) istemcisi oluşturacaksınız. Ayrıca, istemciyi, Minimal bir MCP sunucusu oluştur hızlı başlangıcında oluşturulan gibi bir MCP sunucusuna bağlanacak şekilde yapılandırmayı öğrenirsiniz.
Önkoşullar
Uyarı
İlerideki bölümlerde kurduğunuz MCP istemcisi, Minimal MCP sunucusu oluşturma hızlı başlangıcından alınan örnek MCP sunucusuna bağlanır. Kendi bağlantı yapılandırmanızı sağlarsanız kendi MCP sunucunuzu da kullanabilirsiniz.
.NET konak uygulamasını oluştur
.NET konsol uygulaması oluşturmak için aşağıdaki adımları tamamlayın. Uygulama, bir MCP sunucusuna bağlanan bir MCP istemcisi için konak görevi görür.
Projeyi oluşturma
Terminal penceresinde, uygulamanızı oluşturmak istediğiniz dizine gidin ve komutuyla
dotnet newyeni bir konsol uygulaması oluşturun:dotnet new console -n MCPHostAppYeni oluşturulan proje klasörüne gidin:
cd MCPHostAppGerekli NuGet paketlerini eklemek için aşağıdaki komutları çalıştırın:
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 --prereleaseProje klasörünü visual studio code gibi istediğiniz düzenleyicide açın:
code .
Uygulama kodunu ekleme
Program.cs içeriğini aşağıdaki kodla değiştirin:
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);
}
Yukarıdaki kod aşağıdaki görevleri gerçekleştirir:
-
IChatClientsoyutlamasınıMicrosoft.Extensions.AIkitaplıkları kullanarak başlatır. - Bir MCP istemcisi oluşturur ve bunu MCP sunucunuza bağlanacak şekilde yapılandırılır.
- Standart bir MCP işlevi olan MCP sunucusundan kullanılabilir araçların listesini alır ve görüntüler.
- Kullanıcı istemlerini işleyen ve yanıtlar için araçları kullanan bir konuşma döngüsü uygular.
Uygulamayı çalıştırma ve test edin
.NET konak uygulamanızı test etmek için aşağıdaki adımları tamamlayın:
Projenizin köküne açık bir terminal penceresinde aşağıdaki komutu çalıştırarak uygulamayı başlatın:
dotnet runUygulama çalıştırıldıktan sonra ReverseEcho aracını çalıştırmak için bir istem girin:
Reverse the following: "Hello, minimal MCP server!"Sunucunun yankılanan iletiyle yanıt verdiğini doğrulayın:
!revres PCM laminim ,olleH