Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В этом кратком руководстве описано, как создать клиент с минимальным протоколом контекста модели (MCP) с помощью пакета SDK C# для MCP. Вы также узнаете, как настроить клиент для подключения к серверу MCP, например созданному в кратком руководстве по сборке минимального сервера MCP .
Предпосылки
Замечание
Клиент MCP, который вы создаете в разделах ниже, подключается к примерному серверу MCP из краткого руководства по сборке минимального сервера MCP. Вы также можете использовать собственный сервер MCP, если вы предоставляете собственную конфигурацию подключения.
Создание ведущего приложения .NET
Выполните следующие действия, чтобы создать консольное приложение .NET. Приложение выступает в качестве узла для клиента MCP, который подключается к серверу MCP.
Создание проекта
В окне терминала перейдите в каталог, в котором вы хотите создать приложение, и создайте консольное приложение с
dotnet newпомощью команды:dotnet new console -n MCPHostAppПерейдите в только что созданную папку проекта:
cd MCPHostAppВыполните следующие команды, чтобы добавить необходимые пакеты 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 --prereleaseОткройте папку проекта в выбранном редакторе, например Visual Studio Code:
code .
Добавление кода приложения
Замените все содержимое Program.cs следующим кодом:
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Extensions.AI;
using ModelContextProtocol.Client;
using ModelContextProtocol.Protocol;
// 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.
var transport = new StdioClientTransport(new()
{
Command = "dotnet run",
Arguments = ["--project", "<path-to-your-mcp-server-project>"],
Name = "Minimal MCP Server",
});
McpClient mcpClient = await McpClient.CreateAsync(transport);
// 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);
}
Приведенный выше код выполняет следующие задачи:
- Инициализирует абстракцию
IChatClientс использованием библиотекMicrosoft.Extensions.AI. - Создает клиент MCP и настраивает его для подключения к серверу MCP.
- Извлекает и отображает список доступных средств с сервера MCP, который является стандартной функцией MCP.
- Реализует цикл беседы, который обрабатывает запросы пользователей и использует средства для ответов.
Запуск и тестирование приложения
Выполните следующие действия, чтобы протестировать хост-приложение .NET:
В окне терминала откройте корень проекта, выполните следующую команду, чтобы запустить приложение:
dotnet runПосле запуска приложения введите запрос на запуск средства ReverseEcho :
Reverse the following: "Hello, minimal MCP server!"Убедитесь, что сервер отвечает отражённым сообщением.
!revres PCM laminim ,olleH